javascript - JavaScript 中的所有事件监听器如何保持事件状态?

标签 javascript node.js event-handling addeventlistener dom-events

我一直想知道 JavaScript 中的事件处理程序如何始终监听后续操作以一次又一次地触发事件,即使在您编写的 JavaScript 代码已被解析之后也是如此。 我曾尝试在线研究,但没有找到任何资源来解释事件监听器如何保持事件状态。

我了解调用堆栈的工作原理,但我只想知道所有事件监听器是如何保持事件状态的。

例如,带有 “click” 事件的 addEventListener 将始终在单击按钮时运行指定的回调。那么addEventListener方法添加的回调是如何一直保持活跃的呢?

最佳答案

JavaScript 的这种行为通常被描述为“事件循环”。 JavaScript 引擎运行、运行、运行并不断寻找新事件。它将运行直到所有事件处理程序都被分离。现在,如果一个事件被触发,它将最终进入一个事件队列。然后某个时候事件循环从队列中取出事件,并执行它。这将创建一个调用堆栈,如果展开,循环将继续。

关于javascript - JavaScript 中的所有事件监听器如何保持事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56376508/

相关文章:

JavaScript:分配事件处理程序时遇到问题

node.js - 我正在尝试部署云功能并收到此错误 'Cannot read status of undefined'

javascript - 爬取 json 对象数组的最高效方法

javascript - 如何使用 jquery 对所有可点击项目使用一种方法?

Javascript循环获取文件内容

javascript - Soap 库发送不正确的 XML 请求

java - 按顺序处理异步事件和发布结果

javascript - jQuery 更改事件代码未运行可能的事件冲突

javascript - Jquery inArray 方法不适用于多维数组

javascript - 有没有办法通过firebug和chrome检测用户是否隐藏了div?