我想知道鼠标事件的所有事件何时被触发。
例如,如果我在文档和元素上注册了侦听器,然后单击该元素,我可以触发多个事件(如果结果事件冒泡则更多)。
我如何知道该点击产生的所有事件何时完成?
This site提供了一种方法 - 通过在一个时间间隔内使用新事件更新列表,将鼠标事件聚类到列表中。我希望没有计时器的自动化方式。
答案 0 :(得分:0)
如果您只想在所有事件完成后运行某些代码,则应使用值为0的超时:
window.setTimeout(function ()
{
// All events have finished, so we can run our code now
}, 0);
Javascript中的计时器在同一个线程上运行,因此在其他Javascript代码运行时它们甚至不会计数。当线程空闲时,将设置计数为0的计时器。
您提到的网站不会按时间间隔更新该列表 - 每次事件使用所有这些对象上的处理程序触发时,它实际上会更新该列表。使用时间间隔捕捉事件是不可能的。