-1

クリックをライブ機能にバインドするにはどうすればよいですか?

私は試した:

$('.expansion_button').die('click', function(){
   $('.expansion_button').live('click', expansion);
});

しかし、これは、ajaxクエリの後にクリックを2回バインドします。

どうすれば修正できますか?

(私の英語は下手です)

4

3 に答える 3

1

一致した要素ごとにライブハンドラーを1回だけ実行する場合は、次のようにします。

$('.expansion_button').live('click', function(e){

    if( $.data( this, "liveclicked" ) ) {
    return true;
    }

$.data( this, "liveclicked", true );
return expansion.apply( this, arguments );
});
于 2011-12-07T15:25:15.440 に答える
1

私が正しく理解したら、これを試してください

$('.expansion_button').one('click', function(){
   alert('Next click will not alert!');
});  

上記のコードの動作デモは次のとおりです

于 2011-12-07T15:20:16.917 に答える
0

Jquery .die() は、その要素にアタッチしたハンドラーを強制終了します。それをバインドするには、ライブを使用するだけです。

 $('.expansion_button').live('click', expansion);

次に、バインドされたイベントを削除する場合は、その関数のどこかで .die() を呼び出します。次のようになります。

$("unbind-element").click(function () { 
  $(expansion_button).die(); 
});
于 2011-12-07T15:20:40.923 に答える