是否存在添加两个相同事件处理程序的默认行为

Is there a default behavior for adding two of the same event handlers?

本文关键字:程序 事件处理 默认 两个 添加 存在 是否      更新时间:2024-05-08

在事故中,我做了一些我认为可能是错误的事情。

我向同一个元素/事件添加了两个事件处理程序。

默认行为是什么?

也就是说,如果将两个单击事件添加到同一元素中。他们都会被解雇吗?按什么顺序解雇。

以下是规范中所说的:

尽管EventTarget上的所有EventListener都保证由该EventTarget接收到的任何事件触发,否制定了他们将收到事件。

http://www.w3.org/TR/DOM-Level-2-Events/events.html

因此,他们都将被解雇,但订单不是保证的

如果您通过addEventListener或attachEvent绑定事件,它们都将被触发。顺序由绑定顺序决定,例如(代码用jquery编写):

 $('#id').bind('click',function(){
  alert(1);
 }).bind('click',function(){
  alert(2)
 });

当您单击该元素时,您将首先看到警报"1",然后是"2";