window.event對象詳細介紹


1、event代表事件的狀態,例如觸發event對象的元素、鼠標的位置及狀態、按下的鍵等等。event對象只在事件發生的過程中才有效。event的某些屬性只對特定的事件有意義。比如,fromElement 和 toElement 屬性只對 onmouseover 和 onmouseout 事件有意義。 

2、屬性:

altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y

 

3、屬性詳細說明:

屬性名 描述 說明
altKey 檢查alt鍵的狀態 當alt鍵按下時,值為True否則為False 只讀
shiftKey 檢查shift鍵的狀態 當shift鍵按下時,值為True否則為False 只讀
ctrlKey 檢查ctrl鍵的狀態 當ctrl鍵按下時,值為True否則為False 只讀
例:(點擊按鈕時顯示那幾個特殊鍵按下的狀態)
<input type="button" value="點擊" onClick="showState()"/>
<script>
function show(){
 alert("altKey:"+window.event.altKey
  +"\nshiftKey:"+window.event.shiftKey
  +"\nctrlKey:"+window.event.ctrlKey);
}</script>
 keyCode  檢測鍵盤事件相對應的內碼    可讀寫,可以是任何一個Unicode鍵盤內碼。如果沒有引發鍵盤事件,則該值為0
例:(按回車鍵讓下一組件得到焦點,相當按Tab鍵)
<input type="text" onKeyDown="nextBlur()"/>
<input type="text"/>
<script>
function nextBlur(){
 if(window.event.keyCode==13)//回車鍵的 code
  window.event.keyCode=9;//Tab鍵的code
}
</script>
 srcElement  返回觸發事件的元素  Object  只讀
例:(點擊按鈕時顯示按鈕的name值)
<input type="button" value="閩" name="福建" onClick="show()"/>
<input type="button" value="贛" name="江西" onClick="show()"/>
<script>
function show(){
 alert(window.event.srcElement.name);
}
</script>
 x,y  鼠標相對於當前瀏覽器的位置  px  只讀
 clientX,clientY  鼠標當前相對於網頁的位置  px  只讀
 offsetX,offsetY  鼠標當前相對於網頁中的某一區域的位置  px  只讀
 screenX,screenY  相對於用戶顯示器的位置  px  只讀
說明:當你點擊一個按鈕時得到(x,clientX,offsetX,screenX)很容易明白offsetX;當你把IE窗口還原后得到(x,clientX,screenX),你就會明白screenX;當你把div的屬性position在absolute和relative之間切換時,你就會明白x和clientX的區別。
 returnValue  設置或檢查從事件中返回的值  true 事件中的值被返回 
false 源對象上事件的默認操作被取消
 可讀寫
例如:屏蔽鼠標右鍵、Ctrl+n、shift+F10、F5刷新、退格鍵
function KeyDown(){ 
 //屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
  if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向鍵 ←
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向鍵 →
     event.returnValue=false;//防止使用ALT+方向鍵前進或后退網頁
  }
  if ((event.keyCode==8) ||      //屏蔽退格刪除鍵
      (event.keyCode==116)||   //屏蔽 F5 刷新鍵
      (event.keyCode==112)||   //屏蔽 F1 刷新鍵 bitsCN.com中國網管聯盟 
      (event.ctrlKey && event.keyCode==82)){ //Ctrl + R
     event.keyCode=0;
     event.returnValue=false;
  }
  if ((event.ctrlKey)&&(event.keyCode==78))   //屏蔽Ctrl+N
     event.returnValue=false;
  if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽Shift+F10
     event.returnValue=false;
  if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
      window.event.returnValue = false;  //屏蔽 shift 加鼠標左鍵新開一網頁
  if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
      window.showModelessDialog("about:blank","","dialogWidth:1px;dialogHeight:1px");
      return false;}
}
 button  檢查按下的鼠標鍵  0 沒按鍵 
1 按左鍵 
2 按右鍵 
3 按左右鍵 
4 按中間鍵 
5 按左鍵和中間鍵 
6 按右鍵和中間鍵 
7 按所有的鍵
 僅用於onmousedown,onmouseup和onmousemove事件。對其他事件,不管鼠標狀態如何,都返回0(比如onclick)
 srcElement  檢測onmouseover和onmouseout事件發生時,鼠標所離開的元素  Object  只讀
 toElement  檢測onmouseover和onmouseout事件發生時,鼠標所進入的元素  Object  只讀
 type  返回事件名    返回沒有“on”作為前綴的事件名,比如,onclick事件返回的type是click


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM