繁体   English   中英

DOM Level 0 事件与 DOM Level 2 事件有什么区别?

[英]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,我们现在有了更标准化的方法来管理事件和订阅,包括addEventListenerremoveEventListener等。

你可以在这里阅读更多

直到 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM