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

时间:2013-12-08 13:15:29

标签: javascript

事故发生后,我做了一些我认为可能出错的事。

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

默认行为是什么,或者有一个?

即如果向同一元素添加两个单击事件。他们俩都会被解雇,并且会以什么顺序被解雇。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

以下是规范的说法:

  

虽然EventTarget上的所有EventListeners都是保证的   由EventTarget收到的任何事件触发,没有   规范是指他们接收的顺序   有关EventTarget上其他EventListeners的事件。

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

所以他们都会被解雇,但订单不是 保证