Cuando el usuario mantiene presionada una tecla, quiero que el evento keydown() se invoque solo una vez, pero se invoca hasta que el usuario deja de presionar la tecla.Cómo deshabilitar la tecla repetitiva en jQuery
Aquí es lo que estoy tratando de hacer:
$(document).keydown(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '39'){
$("#box").animate({"left": "+=30px"}, "fast");
}
});
Así, cuando el usuario pulsa la tecla de flecha derecha, quiero que el cuadro # div para mover 30px a la derecha. Se mueve pero si el usuario mantiene presionada la tecla, se aleja volando.
Necesito que se mueva solo 30px por pulsación, y se detenga, incluso si el usuario mantiene presionada la tecla. ¿Sabes cómo se puede lograr?
En una nota de conveniencia, 'event.keyCode? event.keyCode: event.which' es equivalente a 'event.keyCode || event.which', incluso para no booleanos. – Keen