それぞれ、div
と#move
が2つあるとしましょう。#object
#object
クリックすると動く関数#move
$("#move").click(function(){
$("#object").animate({
"left": "+=1px"
}
);
})
イベントなどを使用して特定の回数実行された後、関数を放棄または変更するにはどうすればよい.Keyup()
ですか?
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');
}
});
.unbind()
イベントハンドラーを削除するメソッドを探しています。