如果我将多个事件处理程序附加到单个DOM元素上的单个事件,那么事件处理程序是否保证按照它们添加的顺序被调用?还是我不应该依赖这种行为?JavaScript中的事件处理程序是按顺序调用的吗?
27
A
回答
22
This has been changed with DOM3!虽然DOM level 2 events specification确曾
当事件到达目标,在
EventTarget
注册了任何事件侦听器被触发。虽然在EventTarget
所有EventListeners
都保证由 由EventTarget
接收到的任何事件触发,不规范作出到 为了,他们将与问候收到该事件的其他EventListeners
在EventTarget
。
目前DOM level 3 events specification现在所做的陈述
实现必须确定当前目标的candidate event listeners。 这必须是当前目标在注册顺序上已注册 的所有事件侦听器的列表。
HTML5
定义了听众的排序registered through event handler attributes。 [...]最后,执行必须处理所有候选event handlers 为了 [...]
但是,我无法找到这种行为在DOM 4 draft参考了。
相关问题
- 1. 如何处理顺序调用事件处理程序?
- 2. Qt:事件是否按顺序处理?
- 3. 事件处理程序事件处理程序不调用上单击按钮
- 4. JavaScript事件处理程序的执行顺序
- 5. JavaScript事件处理程序
- 6. Javascript事件处理程序
- 7. JavaScript“类”中的事件处理程序
- 8. 关于(内联)javascript事件处理程序执行jquery事件处理程序的顺序
- 9. 如何用Javascript中的参数调用事件处理程序?
- 10. 调用jQuery的事件处理程序
- 11. javascript中事件处理程序的异步或同步调用
- 12. 是否有可能在事件处理程序启动时追踪事件处理程序的顺序?
- 13. Angular:自定义事件处理程序和默认处理程序的顺序
- 14. 如何在JavaScript中编程调用mouseover事件处理程序
- 15. 重构JavaScript事件处理程序 - 这是一个合理的事情吗?
- 16. MapController调用在事件处理程序中不起作用吗?
- 17. JavaScript事件处理程序的参数
- 18. 带iframe的JavaScript事件处理程序
- 19. JavaScript的事件处理程序在ASP.NET
- 20. 马提尼处理程序的调用顺序是什么?
- 21. 如何确定在JavaScript或jQuery中触发事件处理程序的顺序?
- 22. 手动调用事件处理程序
- 23. Javascript:调用默认的keydown事件处理程序
- 24. JS事件处理程序的执行顺序
- 25. 为什么`on`处理程序调用的顺序不是按顺序排列的?
- 26. HTML事件处理程序与React事件处理程序
- 27. 什么是MSIL调用基类的事件处理程序?
- 28. 单选按钮事件处理程序
- 29. 按钮控制事件处理程序
- 30. JavaScript的onclick处理程序不调用
假设这是来自HTML5,这意味着目前的浏览器已经这样做,你觉得呢? – thomasrutter 2016-05-24 22:38:35
@thomasrutter:是的,非常多 - 他们只是标准化他们实施的内容。 – Bergi 2016-05-24 22:57:08