DOM1級問題與DOM2級事件

前幾天有小夥伴問過我一個問題,爲何有DOM 0級事件以及DOM2級事件,可是卻沒有DOM1級事件呢?那咱們今天就來講一說DOM的級別問題。
 同時推薦夥伴們能夠看看尚學堂有關JavaScript BOM的文章:《細說javascript BOM》javascript

一.DOM0級事件

0級DOM分爲兩種html

  1. 行內事件:在標籤中寫事件
  2. 元素.on事件名=函數
1.行內
<input type="button" id="btn" value="按鈕" onclick="alert('上海尚學堂,你值得擁有!')">

 

2.元素.on事件名=函數
document.getElementById("btn").onclick = function () {
    alert('上海尚學堂,你值得擁有!');
}

 

二.DOM1級問題

爲何沒有1級DOM?
DOM級別1於1998年10月1日成爲W3C推薦標準。1級DOM標準中並無定義事件相關的內容,因此沒有所謂的1級DOM事件模型。在2級DOM中除了定義了一些DOM相關的操做以外還定義了一個事件模型 ,這個標準下的事件模型就是咱們所說的2級DOM事件模型 
 html5

三.DOM2級事件

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

它們都有三個參數:第一個參數是事件名(如click);
         第二個參數是事件處理程序函數;
           第三個參數若是是true則表示在捕獲階段調用,爲false表示在冒泡階段調用。
 java

  • addEventListener():能夠爲元素添加多個事件處理程序,觸發時會按照添加順序依次調用。
  • removeEventListener():不能移除匿名添加的函數。
document.getElementById("btn").addEventListener("click", function(){alert('上海尚學堂,你值得擁有!')}, false);

 
 
對事件的不一樣級別的具體區別,仍是須要你們瞭解清楚的,那麼下次咱們再來聊一聊事件的不一樣執行階段問題.函數

相關文章
相關標籤/搜索