可以有多个JavaScript处理程序注册到事件吗?

时间:2010-11-04 23:26:31

标签: javascript javascript-events

可以将多个JavaScript处理程序注册到window.onresize等事件吗? 我尝试使用+ =,但这没有效果。只有=,这显然取代了以前分配的任何事件。

2 个答案:

答案 0 :(得分:8)

对于IE,您可以使用: window.attachEvent('onresize', handler);

其中handler是你的处理函数。

在所有其他浏览器中,您可以使用: window.addEventListener('resize', handler);

这两个函数都可以多次使用,以附加多个事件处理程序。

答案 1 :(得分:0)

您可以为单个事件注册多个处理程序,但在不同的浏览器中执行此操作的机制也不同 - 因此使用框架更容易:

$(document).click(function() { 
  alert('a');
});

$(document).click(function() {
  alert('b');
});

事件按照它们绑定的顺序触发 - 因此在这种情况下,foo将在bar之前显示。您可以通过使用处理程序调用{​​{3}}函数来阻止后续事件被触发。