使用“.click()”触发事件侦听器是异步的吗?

Is triggering event listeners using ".click()" asynchronous?

我有以下代码(我的 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')
}());

当这个 运行s 在 Firefox 41 控制台中时,我会期望

之前

之后 单击

因为代码会运行同步,然后在完成脚本后响应事件队列中的点击事件。相反,我得到

之前
点击

之后

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

是的,click method 同步执行 运行 激活步骤,包括立即触发(创建和调度)事件。它没有被放入事件循环队列中。