如何阻止JavaScript一次处理两个事件?
我声明了一个事件处理程序,例如document.addEventListener('keydown',function(e)
{},false)
在这种情况下,我不希望处理程序在完成当前事件之前处理任何事件。
答案 0 :(得分:3)
Javascript是单线程的,因此当前事件处理将在下一个事件被触发之前完成。您无需做任何事情来保证一次只处理一个事件。
您可以从以下其他帖子中了解有关此主题的更多信息:
How does JavaScript handle AJAX responses in the background?(描述javascript中的事件队列如何运作)
Can JS event handlers interrupt execution of another handler?
答案 1 :(得分:0)
没有什么可以同时处理事件。事件顺序取决于使用的浏览器。是您决定如何在捕获或冒泡模型中注册事件,或者在w3c模型中使用这两个论文。
例如,在W3c模型中,捕获在W3c模型中发生的任何事件,直到达到目标,然后再次开始冒泡。
您可以决定通过addEventListner()方法在捕获或冒泡阶段注册事件。