[英]What is the difference between DOM Level 0 events vs DOM Level 2 events?
DOM Level 0 事件与 DOM Level 2 事件有什么区别? 我问是因为有人告诉我 Firefox 和 IE 以不同的顺序调用它们,而我以前从未听说过这些术语。
DOM Level 0 事件基于在 DOM 元素上使用元素属性或命名事件的概念,例如:
<input type="button" onclick="clickMe();" />
或者
input.onclick = function() { ... };
使用 DOM Level 2,我们现在有了更标准化的方法来管理事件和订阅,包括addEventListener
、 removeEventListener
等。
你可以在这里阅读更多
直到 IE8,Microsoft 才在其浏览器中添加了对 W3C 事件管理标准的支持。 不知道他们叫什么顺序......
除了之前的答案完全正确地提到的问题之外,它集中在使用事件处理程序调用函数或执行其他一些 JavaScript 的类型(我的意思是使用内联注册模型和传统注册模型与使用 addEventListener(...) 、removeEventListener(...) 或 dispatchEvent(...) ) 以及向这个重复问题添加额外信息,DOM Level 0 与 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 中的问题之一,它是通过其他解决方案处理的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.