Como desativar o pressionamento de tecla repetitivo no jQuery [duplicado]

Esta pergunta já tem uma resposta aqui:

Evitar que o evento de keydown do JavaScript seja tratado várias vezes enquanto pressionado respostas

Quando o usuário mantém uma tecla pressionada, desejo que o evento keydown () seja chamado apenas uma vez, mas é chamado até o usuário parar de pressionar a tecl

Aqui está o que estou tentando fazer:

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

Então, quando o usuário pressiona a tecla de seta para a direita, quero que a caixa de div # mova 30px para a direita. Ele se move, mas se o usuário mantiver a tecla pressionada, ela voará para long

Preciso que ele se mova apenas 30px por toque e pare, mesmo que o usuário mantenha a tecla pressionada. Você sabe como isso pode ser realizado?