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

2023-12-25

我有以下代码(其中有一个<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')
}());

当它在 Firefox 41 控制台中运行时,我期望

before
after
clicked

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

before
clicked
after

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


是的click method http://www.w3.org/TR/html5/editing.html#dom-click同步运行激活步骤,其中包括立即触发(创建和分派)事件。它不被放入事件循环队列中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用“.click()”触发事件监听器是同步的吗? 的相关文章

随机推荐