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

时间:2015-11-10 01:51:50

标签: 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事件。相反,我得到

之前
点击
之后

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

1 个答案:

答案 0 :(得分:5)

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