JS-------DOM0級事件處理和DOM2級事件處理-------簡單記法


0級DOM

分為2個:一是在標簽內寫onclick事件

      二是在JS寫onlicke=function(){}函數

1)

<input id="myButton" type="button" value="Press Me" onclick="alert('thanks');" >

2)

document.getElementById("myButton").onclick = function () {
    alert('thanks');
}

以下是分割線


 

1級DOM--(為什么沒有1級DOM)

DOM級別1於1998年10月1日成為W3C推薦標准。1級DOM標准中並沒有定義事件相關的內容,所以沒有所謂的1級DOM事件模型。在2級DOM中除了定義了一些DOM相關的操作之外還定義了一個事件模型 ,這個標准下的事件模型就是我們所說的2級DOM事件模型 


 

2級DOM

只有一個:監聽方法,有兩個方法用來添加和移除事件處理程序:addEventListener()和removeEventListener()。

它們都有三個參數:第一個參數是事件名(如click);

         第二個參數是事件處理程序函數;

           第三個參數如果是true則表示在捕獲階段調用,為false表示在冒泡階段調用。

  • addEventListener():可以為元素添加多個事件處理程序,觸發時會按照添加順序依次調用。
  • removeEventListener():不能移除匿名添加的函數。
document.getElementById("myTest").attachEvent("onclick", function(){alert(1)});
//等價於
document.getElementById("myTest").addEventListener("click", function(){alert(1)}, false);

 

只有2級DOM包含3個事件:事件捕獲階段、處於目標階段和事件冒泡階段

<span>
    <a></a>
</span>

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

 

1.事件冒泡(常用)

IE中采用的事件流是事件冒泡,先從具體的接收元素,然后逐步向上傳播到不具體的元素。

2.事件捕獲(少用)

Netscapte采用事件捕獲,先由不具體的元素接收事件,最具體的節點最后才接收到事件。

3.DOM事件流


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM