JavaScript學習要點(十一)

IE中採用事件冒泡來控制事件流,即事件開始時由最具體的元素接收,然後逐級向上傳播到較爲不具體的節點

Netscape團隊提出的另一種事件流叫做事件捕獲,即不太具體的節點應該更早的接收到事件,而最具體的節點應該最後接收到事件

DOM事件流規定包括三個階段,事件捕獲階段、處於目標階段和事件冒泡階段,最後一個階段對事件做出響應

處理事件的函數被叫做事件處理程序,名稱以“on”開頭
每個元素相應的事件發生時,都可以指定同名的HTML特性,實際上是能夠執行的JavaScript代碼

DOM0級事件處理程序:每個元素都有自己的事件處理程序屬性,將這種屬性的值設置爲一個函數,就可以指定事件處理程序
DOM2級事件處理程序:addEventList()和removeEventLister()兩個方法用於處理指定和刪除事件處理程序的操作
接收三個參數,要處理的事件名 作爲事件處理程序的函數和一個布爾值,如果爲true表示在捕獲階段調用該函數,如果爲false則在冒泡階段調用

IE事件處理程序有attachEvent()和detachEvent(),只接受事件處理程序名和事件處理程序函數兩個參數,IE8和之間版本函數只能被添加到冒泡階段,DOM2中的事件處理程序名前面不加on,IE的要加

在觸發DOM上的某個事件時,會產生一個事件對象event,這個對象包含着所有與事件相關的信息
事件對象的eventPhase屬性可以用來確定事件當前正位於事件流的哪個階段,捕獲階段爲1,處於目標階段爲2,冒泡階段爲3

IE對event的訪問方式取決於指定事件處理程序的方法,在使用DOM0級方法添加事件處理程序時,event對象作爲window對象的一個屬性存在

事件類型分爲:
UI事件、焦點事件、鼠標事件、滾輪事件、文本事件、鍵盤事件、合成事件、變動事件

發佈了45 篇原創文章 · 獲贊 2 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章