0

私がこのようなことをしているとしましょう:

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

Firefoxでは、func1()はfunc2()の後に実行されますが、IEでは実行されません。

何か案は?

4

2 に答える 2

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();
});
于 2012-06-01T05:41:07.880 に答える
2

イベントをバインドする代わりに、クリックイベントで両方の関数を2回呼び出します。このようにイベントを2回バインドせずに行うことができます。

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

func1(); 

func2();

});

複数回バインドしたい場合は、このようにすることができますが、正当な理由なしに複数回のバインドイベントは回避する必要があります。JsFiddleのデモ

$('#demo').bind('click', function(){
   alert("fun1");})
    .bind('click', function(){
  alert("fun2");
 });
于 2012-06-01T05:41:16.250 に答える