ユーザーがキーを押したままにすると、keydown()イベントは1回だけ呼び出されますが、ユーザーがキーを押すのを止めるまで呼び出されます。ここでjQueryの反復キーダウンを無効にする方法
は私がやろうとしていますものです:
$(document).keydown(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '39'){
$("#box").animate({"left": "+=30px"}, "fast");
}
});
ので、ユーザは、右矢印キーを押したときに、私は右に30pxを移動するためのdiv#ボックスをしたいです。それは動きますが、ユーザーがキーを押し続けると、飛んでいきます。
プレスごとに30pxだけ移動し、ユーザーがキーを押したままにしても停止する必要があります。どのように達成できるのかご存じですか?
便宜上、 'event.keyCode? event.keyCode:event.which'は、 'event.keyCode ||と等価です。 event.which'、非ブーリアンの場合でも。 – Keen