使用".ick()"触发事件侦听器是否为异步?

2022-04-03 00:00:00 javascript javascript-events

我有以下代码(其中在我的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同步运行激活步骤,包括立即激发(创建和调度)事件。它未放入事件循环队列。

相关文章