javascript obj.onevent = callback vs obj.addEventListener(event,callback)

时间:2012-10-04 20:54:16

标签: javascript jquery events javascript-events v8

有没有人认为这两种方法之间存在任何差异,或者两种方法是否更好。

说我们有,

var x = new Worker('math.js');

1)绑定事件处理程序的一种方法

x.onmessage =  function(ev){ //.... };

2)另一种方式:

x.addEventListener('message',function(){});

我知道一个区别是,如果我们要拥有多个事件侦听器,addEventListener将非常​​有用。但除此之外有什么理由吗?

2 个答案:

答案 0 :(得分:1)

执行此操作的另一个原因是您也可以删除事件处理程序。如果eventHandler函数不是匿名的(就像你的两个例子那样),那么你可以稍后通过名字将其删除。

见这里:http://jsfiddle.net/Cs3vL/

答案 1 :(得分:1)

另一件事:使用“true”和“false”参数,您可以在捕获或冒泡阶段附加到事件。使用.onmessage,你没有那个选择。