连续触发多个jquery事件侦听器

时间:2012-06-01 05:39:59

标签: javascript jquery javascript-events

说我正在做这样的事情:

$('#demo').click(func1);
$('#demo').click(func2);

在Firefox中,使func1()在func2()之后运行,但不在IE上运行。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

不需要多次将同一事件绑定到同一个元素,尽管jQuery没有问题。

只需写一下

$('#demo').click(function() {
  // serial execution of functions
  func1();
  func2();
});

如果你需要绑定多个元素的点击,那么程序将是

$('#demo1, #demo2').click(function() {
   // do your stuff
});

您可以使用.on()进行事件绑定,例如:

$('#demo').on('click', function() {
  func1();
  func2();
});

答案 1 :(得分:2)

而不是绑定事件两次调用click事件中的两个函数。你可以在没有绑定事件两次的情况下做到这一点。

$('#demo').click(function (){

func1(); 

func2();

});

如果你想多次绑定它,那么你可以这样做,但是应该避免多次没有充分理由的Binding事件。 Demo on JsFiddle

$('#demo').bind('click', function(){
   alert("fun1");})
    .bind('click', function(){
  alert("fun2");
 });