複製鏈接
請複製以下鏈接發送給好友

event對象

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

event對象事件介紹

Event 對象代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、鼠標的位置、鼠標按鈕的狀態。 [1] 
事件通常與函數結合使用,函數不會在事件發生前被執行!
IE: Internet Explorer, F: Firefox, O: Opera, W3C: W3C 標準.
事件句柄 (Event Handlers)
HTML 4.0 的新特性之一是能夠使 HTML 事件觸發瀏覽器中的行為,比如當用户點擊某個 HTML 元素時啓動一段 JavaScript。下面是一個屬性列表,可將之插入 HTML 標籤以定義事件的行為。






onabort
圖像的加載被中斷。
4
1
9
Yes
onblur
元素失去焦點。
3
1
9
Yes
onchange
域的內容被改變。
3
1
9
Yes
當用户點擊某個對象時調用的事件句柄。
3
1
9
Yes
當用户雙擊某個對象時調用的事件句柄。
4
1
9
Yes
onerror
在加載文檔或圖像時發生錯誤。
4
1
9
Yes
元素獲得焦點。
3
1
9
Yes
onkeydown
某個鍵盤按鍵被按下。
3
1
No
Yes
onkeypress
某個鍵盤按鍵被按下並鬆開。
3
1
9
Yes
某個鍵盤按鍵被鬆開。
3
1
9
Yes
一張頁面或一幅圖像完成加載。
3
1
9
Yes
onmousedown
鼠標按鈕被按下。
4
1
9
Yes
鼠標被移動。
3
1
9
Yes
鼠標從某元素移開。
4
1
9
Yes
鼠標移到某元素之上。
3
1
9
Yes
onmouseup
鼠標按鍵被鬆開。
4
1
9
Yes
onreset
重置按鈕被點擊。
4
1
9
Yes
onresize
窗口或框架被重新調整大小。
4
1
9
Yes
onselect
文本被選中。
3
1
9
Yes
onsubmit
確認按鈕被點擊。
3
1
9
Yes
用户退出頁面。
3
1
9
Yes

event對象鼠標鍵盤屬性







altKey
返回當事件被觸發時,"ALT" 是否被按下。
6
1
9
Yes
返回當事件被觸發時,哪個鼠標按鈕被點擊。
6
1
9
Yes
返回當事件被觸發時,鼠標指針的水平座標。
6
1
9
Yes
返回當事件被觸發時,鼠標指針的垂直座標。
6
1
9
Yes
ctrlKey
返回當事件被觸發時,"CTRL" 鍵是否被按下。
6
1
9
Yes
metaKey
返回當事件被觸發時,"meta" 鍵是否被按下。
No
1
9
Yes
relatedTarget
返回與事件的目標節點相關的節點。
No
1
9
Yes
返回當某個事件被觸發時,鼠標指針的水平座標。
6
1
9
Yes
screenY
返回當某個事件被觸發時,鼠標指針的垂直座標。
6
1
9
Yes
返回當事件被觸發時,"SHIFT" 鍵是否被按下。
6
1
9
Yes

event對象IE 屬性

除了上面的鼠標/事件屬性,IE 瀏覽器還支持下面的屬性:


cancelBubble
如果事件句柄想阻止事件傳播到包容對象,必須把該屬性設為 true。
fromElement
對於 mouseover 和 mouseout 事件,fromElement 引用移出鼠標的元素。
keyCode
對於 keypress 事件,該屬性聲明瞭被敲擊的鍵生成的 Unicode 字符碼。對於 keydown 和 keyup 事件,它指定了被敲擊的鍵的虛擬鍵盤碼。虛擬鍵盤碼可能和使用的鍵盤的佈局相關。
offsetX,offsetY
發生事件的地點在事件源元素的座標系統中的 x 座標和 y 座標。
returnValue
如果設置了該屬性,它的值比事件句柄的返回值優先級高。把這個屬性設置為 fasle,可以取消發生事件的源元素的默認動作。
srcElement
對於生成事件的 Window 對象、Document 對象或 Element 對象的引用。
toElement
對於 mouseover 和 mouseout 事件,該屬性引用移入鼠標的元素。
x,y
事件發生的位置的 x 座標和 y 座標,它們相對於用CSS動態定位的最內層包容元素。

event對象標準 Event 屬性

下面列出了 2 級 DOM 事件標準定義的屬性。






返回布爾值,指示事件是否是起泡事件類型。
No
1
9
Yes
cancelable
返回布爾值,指示事件是否可擁可取消的默認動作。
No
1
9
Yes
currentTarget
返回其事件監聽器觸發該事件的元素。
No
1
9
Yes
eventPhase
返回事件傳播的當前階段。
-
-
-
Yes
返回觸發此事件的元素(事件的目標節點)。
No
1
9
Yes
timeStamp
返回事件生成的日期和時間。
No
1
9
Yes
返回當前 Event 對象表示的事件的名稱。
6
1
9
Yes

event對象標準 Event 方法

下面列出了 2 級 DOM 事件標準定義的方法。IE 的事件模型不支持這些方法:






initEvent()
初始化新創建的 Event 對象的屬性。
No
1
9
Yes
preventDefault()
通知瀏覽器不要執行與事件關聯的默認動作。
No
1
9
Yes
stopPropagation()
不再派發事件。
No
1
9
Yes

event對象例子

下面的例子檢查鼠標是否在鏈接上單擊,並且,如果shift鍵被按下,就取消鏈接的跳轉。
<HTML>
<HEAD><TITLE>Cancels Links</TITLE>
<SCRIPT LANGUAGE="JScript">
function cancelLink() {
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnvalue = false;
}
</SCRIPT>
<BODY onclick="cancelLink()">
參考資料