2011-04-12 101 views

回答

7

DOM 0級事件根據各地使用元素屬性的概念或DOM元素命名的事件,如:

<input type="button" onclick="clickMe();" /> 

或者

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

隨着DOM 2級,我們現在已經得到了一個更加標準化的方法來管理活動和訂閱,與addEventListener,removeEventListener

您可以在這裏閱讀更多here

直到IE8,微軟在其瀏覽器中增加了對事件管理W3C標準的支持。不知道他們被稱爲什麼樣的順序....

1

除了以前的答案完全正確地提到的問題,它集中在使用事件處理程序來調用函數或執行其他一些JavaScript的類型(我的意思是使用內聯註冊模型和傳統註冊模型vs使用addEventListener(...),removeEventListener(...)或dispatchEvent(...))並且還向this duplicated question添加附加信息,DOM Level 0 vs DOM Level 2事件模型。

通過DOM Level 2事件模型,可能只有特定的對象(例如:document.getElementById(「elementId」)),具有特定事件(點擊或加載...)之一註冊任意數量的事件處理函數。例如:

<!DOCTYPE html> 
<html> 
    <body> 
     <button id="btn">Test it</button> 
     <script> 
      document.getElementById("btn").addEventListener("click", function(){alert("first alert");}); 
      document.getElementById("btn").addEventListener("click", function(){alert("second alert");}); 
     </script> 

    </body> 
</html> 

這是DOM Level 0中的一個問題,通過other solutions進行處理。

相關問題