我有一个关于处理由不同按钮点击触发的事件的问题:
假设我们有几个指向同一事件处理程序的按钮(通过JQuery的“one”函数附加)
如果事件处理程序的第一步是通过调用JQuery关闭来禁用所有其他按钮的事件处理程序 - 是否仍然可以快速单击其他按钮以排队并执行一次事件处理程序第一个按钮是否已完成执行?即使第一个按钮单击删除了所有按钮的处理程序? 我在想,浏览器可能会保留一个与JavaScript线程分开管理的内部事件队列。
答案 0 :(得分:1)
事件处理程序的触发是同步的。动画,ajax和其他内容(例如setTimeout
)是异步的,但事件触发不是这样。因此,除非在异步完成后调用.off
,否则您无需担心在达到.off
之前快速点击事件。