2012-05-03 17 views
0

は、のは、私はそれぞれ2 div#move#objectを持っているとしましょうjQueryのDiv.Click():放棄/変更機能機能は、複数回実行した後

#move

$("#move").click(function(){ 
$("#object").animate({ 
    "left": "+=1px" 
} 
); 
    }) 
をクリックすると、関数のthatsは #objectを移動

実行した後で機能を放棄または変更するには特定の回数を使用して.Keyup()イベントまたは何かを使用しますか?

+1

どのキーアップですか?説明する – thecodeparadox

+0

関数を "放棄"することはどういう意味ですか? – MarioDS

+0

参照:http://stackoverflow.com/questions/209029/best-way-to-remove-an-event-handler-in-jquery –

答えて

1
var count = 0; 
$("#move").on('click', function(){ 
    count++; 
    $("#object").animate({ 
    "left": "+=1px" 
    }); 
}) 

と仮定、あなたがしたい場合は、キーアップは、任意の入力に

$('SOME_ELEMENT').on('keyup', function() { // SOME_ELEMENT is any valid selector 

    if(count === 3) { // I assume after 3 times animation you will unbind/off it 
    $('#move').unbind('click'); // or $('#move').off('click'); 
    } 

}); 

と仮定発生したときにアニメーションイベントをオフにしたい場合にアニメーションイベントオフ使用時のプレスESCキー

$(document).on('keyup', function(e) { 

    if(e.which === 27 && count === 3) { // 27 is keycode of ESC key 
     $('#move').off('click'); 
    } 
    }); 
0

イベントハンドラを削除する.unbind()メソッドを探しています。

関連する問題