如果我将多个事件处理程序附加到单个 DOM 元素上的单个事件,是否保证按添加顺序调用事件处理程序?或者我不应该依赖这种行为?
JavaScript 中的事件处理程序是否按顺序调用?
IT技术
javascript
dom
events
event-handling
dom-events
2021-02-23 14:48:31
1个回答
DOM3已经改变了这一点!虽然DOM 级别 2 事件规范确实指出
当事件到达目标时,
EventTarget
会触发在 上注册的任何事件侦听器 。虽然所有EventListeners
的EventTarget
都保证通过由接收到的任何事件触发EventTarget
,不规范作出的顺序,他们将与问候其他接收事件EventListeners
上EventTarget
。
当前的DOM 级别 3 事件规范现在声明
实现必须确定当前目标的候选事件侦听器。这必须是已在当前目标上按注册顺序注册的所有事件侦听器的列表。
HTML5
定义通过事件处理程序属性注册的侦听器的顺序。[…]最后,实现必须按顺序处理所有候选事件处理程序 […]
但是,我在DOM 4 草案中再也找不到对这种行为的引用了。
其它你可能感兴趣的问题