JavaScript中的事件处理程序是按顺序调用的吗?

时间:2010-04-24 20:58:30

标签: javascript events dom javascript-events event-handling

如果我将多个事件处理程序附加到单个DOM元素上的单个事件,那么事件处理程序是否保证按添加顺序调用?或者我不应该依赖这种行为吗?

1 个答案:

答案 0 :(得分:28)

这个带有DOM3的has been changed!虽然DOM level 2 events specification确实陈述了

  

当事件到达目标时,任何事件侦听器都会注册   EventTarget   被触发。虽然所有EventListeners   EventTarget保证由任何事件触发   收到EventTarget没有说明作为   命令,他们将收到关于另一方的事件   EventListeners上的EventTarget

当前DOM level 3 events specification现在确实

  

实施必须确定当前目标candidate event listeners。   这必须是已注册的所有事件监听器的列表   当前目标的注册顺序HTML5   定义了侦听器registered through event handler attributes的顺序。   [...]

     

最后,实现必须处理所有候选人event handlers   按顺序 [...]

但是,我无法在DOM 4 draft中找到对此行为的引用。