HTML DOM Event 對象
實例
哪個鼠標按鈕被點擊?
光標的坐標是?
被按的按鍵的 unicode 是?
相對于屏幕,光標的坐標是?
shift 鍵被按了嗎?
哪個元素被點擊了?
哪個事件類型發(fā)生了?
Event 對象
Event 對象代表事件的狀態(tài),比如事件在其中發(fā)生的元素、鍵盤按鍵的狀態(tài)、鼠標的位置、鼠標按鈕的狀態(tài)。
事件通常與函數(shù)結(jié)合使用,函數(shù)不會在事件發(fā)生前被執(zhí)行!
IE: Internet Explorer, F: Firefox, O: Opera, W3C: W3C 標準.
事件句柄 (Event Handlers)
HTML 4.0 的新特性之一是能夠使 HTML 事件觸發(fā)瀏覽器中的行為,比如當用戶點擊某個 HTML 元素時啟動一段 JavaScript。下面是一個屬性列表,可將之插入 HTML 標簽以定義事件的行為。
屬性 | 此事件發(fā)生在何時... | IE | F | O | W3C |
---|---|---|---|---|---|
onabort | 圖像的加載被中斷。 | 4 | 1 | 9 | Yes |
onblur | 元素失去焦點。 | 3 | 1 | 9 | Yes |
onchange | 域的內(nèi)容被改變。 | 3 | 1 | 9 | Yes |
onclick | 當用戶點擊某個對象時調(diào)用的事件句柄。 | 3 | 1 | 9 | Yes |
ondblclick | 當用戶雙擊某個對象時調(diào)用的事件句柄。 | 4 | 1 | 9 | Yes |
onerror | 在加載文檔或圖像時發(fā)生錯誤。 | 4 | 1 | 9 | Yes |
onfocus | 元素獲得焦點。 | 3 | 1 | 9 | Yes |
onkeydown | 某個鍵盤按鍵被按下。 | 3 | 1 | No | Yes |
onkeypress | 某個鍵盤按鍵被按下并松開。 | 3 | 1 | 9 | Yes |
onkeyup | 某個鍵盤按鍵被松開。 | 3 | 1 | 9 | Yes |
onload | 一張頁面或一幅圖像完成加載。 | 3 | 1 | 9 | Yes |
onmousedown | 鼠標按鈕被按下。 | 4 | 1 | 9 | Yes |
onmousemove | 鼠標被移動。 | 3 | 1 | 9 | Yes |
onmouseout | 鼠標從某元素移開。 | 4 | 1 | 9 | Yes |
onmouseover | 鼠標移到某元素之上。 | 3 | 1 | 9 | Yes |
onmouseup | 鼠標按鍵被松開。 | 4 | 1 | 9 | Yes |
onreset | 重置按鈕被點擊。 | 4 | 1 | 9 | Yes |
onresize | 窗口或框架被重新調(diào)整大小。 | 4 | 1 | 9 | Yes |
onselect | 文本被選中。 | 3 | 1 | 9 | Yes |
onsubmit | 確認按鈕被點擊。 | 3 | 1 | 9 | Yes |
onunload | 用戶退出頁面。 | 3 | 1 | 9 | Yes |
鼠標 / 鍵盤屬性
屬性 | 描述 | IE | F | O | W3C |
---|---|---|---|---|---|
altKey | 返回當事件被觸發(fā)時,"ALT" 是否被按下。 | 6 | 1 | 9 | Yes |
button | 返回當事件被觸發(fā)時,哪個鼠標按鈕被點擊。 | 6 | 1 | 9 | Yes |
clientX | 返回當事件被觸發(fā)時,鼠標指針的水平坐標。 | 6 | 1 | 9 | Yes |
clientY | 返回當事件被觸發(fā)時,鼠標指針的垂直坐標。 | 6 | 1 | 9 | Yes |
ctrlKey | 返回當事件被觸發(fā)時,"CTRL" 鍵是否被按下。 | 6 | 1 | 9 | Yes |
metaKey | 返回當事件被觸發(fā)時,"meta" 鍵是否被按下。 | No | 1 | 9 | Yes |
relatedTarget | 返回與事件的目標節(jié)點相關(guān)的節(jié)點。 | No | 1 | 9 | Yes |
screenX | 返回當某個事件被觸發(fā)時,鼠標指針的水平坐標。 | 6 | 1 | 9 | Yes |
screenY | 返回當某個事件被觸發(fā)時,鼠標指針的垂直坐標。 | 6 | 1 | 9 | Yes |
shiftKey | 返回當事件被觸發(fā)時,"SHIFT" 鍵是否被按下。 | 6 | 1 | 9 | Yes |
IE 屬性
除了上面的鼠標/事件屬性,IE 瀏覽器還支持下面的屬性:
屬性 | 描述 |
---|---|
cancelBubble | 如果事件句柄想阻止事件傳播到包容對象,必須把該屬性設(shè)為 true。 |
fromElement | 對于 mouseover 和 mouseout 事件,fromElement 引用移出鼠標的元素。 |
keyCode | 對于 keypress 事件,該屬性聲明了被敲擊的鍵生成的 Unicode 字符碼。對于 keydown 和 keyup 事件,它指定了被敲擊的鍵的虛擬鍵盤碼。虛擬鍵盤碼可能和使用的鍵盤的布局相關(guān)。 |
offsetX,offsetY | 發(fā)生事件的地點在事件源元素的坐標系統(tǒng)中的 x 坐標和 y 坐標。 |
returnValue | 如果設(shè)置了該屬性,它的值比事件句柄的返回值優(yōu)先級高。把這個屬性設(shè)置為 fasle,可以取消發(fā)生事件的源元素的默認動作。 |
srcElement | 對于生成事件的 Window 對象、Document 對象或 Element 對象的引用。 |
toElement | 對于 mouseover 和 mouseout 事件,該屬性引用移入鼠標的元素。 |
x,y | 事件發(fā)生的位置的 x 坐標和 y 坐標,它們相對于用CSS動態(tài)定位的最內(nèi)層包容元素。 |
標準 Event 屬性
下面列出了 2 級 DOM 事件標準定義的屬性。
屬性 | 描述 | IE | F | O | W3C |
---|---|---|---|---|---|
bubbles | 返回布爾值,指示事件是否是起泡事件類型。 | No | 1 | 9 | Yes |
cancelable | 返回布爾值,指示事件是否可擁可取消的默認動作。 | No | 1 | 9 | Yes |
currentTarget | 返回其事件監(jiān)聽器觸發(fā)該事件的元素。 | No | 1 | 9 | Yes |
eventPhase | 返回事件傳播的當前階段。 | Yes | |||
target | 返回觸發(fā)此事件的元素(事件的目標節(jié)點)。 | No | 1 | 9 | Yes |
timeStamp | 返回事件生成的日期和時間。 | No | 1 | 9 | Yes |
type | 返回當前 Event 對象表示的事件的名稱。 | 6 | 1 | 9 | Yes |
標準 Event 方法
下面列出了 2 級 DOM 事件標準定義的方法。IE 的事件模型不支持這些方法:
方法 | 描述 | IE | F | O | W3C |
---|---|---|---|---|---|
initEvent() | 初始化新創(chuàng)建的 Event 對象的屬性。 | No | 1 | 9 | Yes |
preventDefault() | 通知瀏覽器不要執(zhí)行與事件關(guān)聯(lián)的默認動作。 | No | 1 | 9 | Yes |
stopPropagation() | 不再派發(fā)事件。 | No | 1 | 9 | Yes |
上一篇: 您已經(jīng)學(xué)習(xí)了 HTML DOM,接下來的學(xué)習(xí)內(nèi)容是什么呢? 下一篇: Location 對象