如何防止事件处理程序在javascript中一次处理多个事件?

时间:2012-01-25 20:41:44

标签: javascript events event-handling

如何阻止JavaScript一次处理两个事件? 我声明了一个事件处理程序,例如document.addEventListener('keydown',function(e) {},false) 在这种情况下,我不希望处理程序在完成当前事件之前处理任何事件。

2 个答案:

答案 0 :(得分:3)

Javascript是单线程的,因此当前事件处理将在下一个事件被触发之前完成。您无需做任何事情来保证一次只处理一个事件。

您可以从以下其他帖子中了解有关此主题的更多信息:

How does JavaScript handle AJAX responses in the background?(描述javascript中的事件队列如何运作)

Can JS event handlers interrupt execution of another handler?

Race conditions with JavaScript event handling?

答案 1 :(得分:0)

没有什么可以同时处理事件。事件顺序取决于使用的浏览器。是您决定如何在捕获或冒泡模型中注册事件,或者在w3c模型中使用这两个论文。

例如,在W3c模型中,捕获在W3c模型中发生的任何事件,直到达到目标,然后再次开始冒泡。

您可以决定通过addEventListner()方法在捕获或冒泡阶段注册事件。