使用";.ick()";触发事件侦听器是否为异步?
我有以下代码(其中在我的HTML中有一个<button id="7">
):
(function() {
'use strict';
document.getElementById(7).addEventListener("click", function(){
console.log('clicked');
})
console.log('before');
document.getElementById(7).click();
console.log('after')
}());
当它在Firefox 41控制台中运行时,我会预料到
之前
在
之后
已点击
因为代码将同步运行,然后在完成脚本后响应事件队列上的Click事件。相反,我得到的是
之前
点击
在
这表示正在同步处理该事件?
解决方案
是,click
method同步运行激活步骤,包括立即激发(创建和调度)事件。它未放入事件循环队列。
相关文章