是否使用".click()"异步触发事件监听器?

Dan*_*Dan 5 javascript javascript-events

我有以下代码(<button id="7">我的HTML 中有一个代码):

(function() {
  'use strict';
  document.getElementById(7).addEventListener("click", function(){
    console.log('clicked');
  })
  console.log('before');
  document.getElementById(7).click();
  console.log('after')
}());
Run Code Online (Sandbox Code Playgroud)

当这在Firefox 41控制台中运行时,我原以为

之前 点击
之后

因为代码将同步运行,然后在完成脚本后响应事件队列上的click事件.相反,我得到了

以前
点击

这表明事件正在同步处理?

Ber*_*rgi 6

是的,该click方法同步运行激活步骤,包括立即触发(创建和调度)事件.它没有放在事件循环队列中.