Как отключить повторное нажатие клавиш в jQuery [дубликат]

На этот вопрос уже есть ответ здесь:

Предотвратить многократную обработку события нажатия клавиш JavaScript, удерживая нажатой 7 ответов

Когда пользователь удерживает нажатой клавишу, я хочу, чтобы событие keydown () вызывалось только один раз, но оно вызывается до тех пор, пока пользователь не перестанет нажимать клавишу.

Вот что я пытаюсь сделать:

   $(document).keydown(function(event){
     var keycode = (event.keyCode ? event.keyCode : event.which);
     if(keycode == '39'){
              $("#box").animate({"left": "+=30px"}, "fast");
     } 
   });  

Поэтому, когда пользователь нажимает клавишу со стрелкой вправо, я хочу, чтобы блок div # переместился на 30 пикселей вправо. Он движется, но если пользователь удерживает нажатой клавишу, он улетает.

Мне нужно, чтобы он двигался только на 30 пикселей за нажатие и останавливался, даже если пользователь удерживает нажатой клавишу. Вы знаете, как это можно сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос