随着在 javascript 中添加事件的不同方式,它们中的任何一个是否像 css 类一样具有优先级?例如,内联 onclick 是否总是会在添加 addEventListener 之前触发?
如果不是,有没有办法给事件优先级?
最佳答案
是
内联 onclick
处理程序将在 DOM 加载时绑定(bind)
而您使用 .on
或 .addEventListener
添加的任何内容都必须先等待 DOM 元素加载。
参见此处:http://jsfiddle.net/DmxNU/
你的html
<a href="#" onclick="console.log('hello');">click</a>
您的 js(在本例中为 jQuery)
$(function() {
$("a").click(console.log.bind(console, "world"));
});
输出
hello
world
解释
我不确定这将记录在何处,但请这样考虑。如果您要使用 DOM API 查询元素然后添加事件监听器,则必须首先加载该元素。如果该元素已包含 onclick
属性,则该属性将首先附加。
关于Javascript 事件优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716560/