0級DOM函數
分爲2個:一是在標籤內寫onclick事件spa
二是在JS寫onlicke=function(){}函數code
1)blog
<input id="myButton" type="button" value="Press Me" onclick="alert('thanks');" >
2)事件
document.getElementById("myButton").onclick = function () { alert('thanks'); }
如下是分割線rem
1級DOM--(爲何沒有1級DOM)get
DOM級別1於1998年10月1日成爲W3C推薦標準。1級DOM標準中並無定義事件相關的內容,因此沒有所謂的1級DOM事件模型。在2級DOM中除了定義了一些DOM相關的操做以外還定義了一個事件模型 ,這個標準下的事件模型就是咱們所說的2級DOM事件模型 input
2級DOMio
只有一個:監聽方法,有兩個方法用來添加和移除事件處理程序:addEventListener()和removeEventListener()。function
它們都有三個參數:第一個參數是事件名(如click);
第二個參數是事件處理程序函數;
第三個參數若是是true則表示在捕獲階段調用,爲false表示在冒泡階段調用。
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事件流