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 |