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