dom0、dom2、dom3事件

dom0 事件的特點:

1. dom0 事件就是直接通過 onclick 綁定到 html上的事件

??? <input onclick="xx"/>

???? 或者

???? input.onclick = function(){? ...? }

2. 清理dom0 事件時,只需給該事件賦值為 null

??? input.onclick = null

3. 同一個元素的同一種事件只能綁定一個函數(shù),否則后面的函數(shù)會覆蓋之前的函數(shù)

4. 不存在兼容性問題


dom2 事件的特點:

1. dom2 事件是通過 addEventListener 綁定的事件

2.同一個元素的同種事件可以綁定多個函數(shù),按照綁定順序執(zhí)行

? function a() {?? ...?? }

? function b() {?? ...?? }

?? input.addEventListener( "click" ,a)

??? input.addEventListener( "click" ,b)

3.清除 dom2 事件時,使用 removeEventListener

???? input.removeEventListener( "click" ,a)

?dom2 級事件有三個參數(shù): 第一個參數(shù)是事件名(如click);

         ??????????? 第二個參數(shù)是事件處理程序函數(shù);

         ??????????? ?? 第三個參數(shù)如果是true則表示在捕獲階段調(diào)用,為false表示在冒泡階段調(diào)用。

addEventListener():可以為元素添加多個事件處理程序,觸發(fā)時會按照添加順序依次調(diào)用。

removeEventListener():不能移除匿名添加的函數(shù)。

DOM2 包含3個事件:事件捕獲階段、處于目標階段和事件冒泡階段

? ? <span>

???????????? <a>? </a>

??? </span>

點擊a后capturing(捕捉)階段事件傳播會從document-> span->a,然后發(fā)生在a,最后bubbling(冒泡)階段事件傳播會從a->span->document


事件冒泡和事件捕獲

??????? DOM2級事件處理添加進去的事件,我們可以控制事件的冒泡或是捕獲過程。當addEventListener方法的第三個參數(shù)為true時,表示只進行事件捕獲,不執(zhí)行事件冒泡,再捕獲的過程中,觸發(fā)途徑標簽的對應事件函數(shù)。當?shù)谌齻€參數(shù)為false,表示執(zhí)行事件冒泡的過程(默認情況)


DOM3級事件

?????? DOM3級事件在DOM2級事件的基礎上添加了更多的事件類型,全部類型如下:

?????? UI事件,當用戶與頁面上的元素交互時觸發(fā),如:load、scroll

?????? 焦點事件,當元素獲得或失去焦點時觸發(fā),如:blur、focus

?????? 鼠標事件,當用戶通過鼠標在頁面執(zhí)行操作時觸發(fā)如:dbclick、mouseup

?????? 滾輪事件,當使用鼠標滾輪或類似設備時觸發(fā),如:mousewheel

?????? 文本事件,當在文檔中輸入文本時觸發(fā),如:textInput

??????? 鍵盤事件,當用戶通過鍵盤在頁面上執(zhí)行操作時觸發(fā),如:keydown、keypress

??????? 合成事件,當為IME(輸入法編輯器)輸入字符時觸發(fā),如:compositionstart

??????? 變動事件,當?shù)讓覦OM結(jié)構(gòu)發(fā)生變化時觸發(fā),如:DOMsubtreeModified

???????? 同時DOM3級事件也允許使用者自定義一些事件。

注意:

1)、cancelBubble可以取消事件冒泡;

2)、stopPropagation可以取消事件冒泡和下沉


http://www.jb51.net/article/99094.htm

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容