Detectar pulsaciones de teclas de flecha en JavaScript
¿Cómo puedo detectar cuando se presiona una de las teclas de flecha? Usé esto para descubrir:
function checkKey(e) {
var event = window.event ? window.event : e;
console.log(event.keyCode)
}
Aunque funcionó para cualquier otra tecla, no funcionó para las teclas de flecha (tal vez porque se supone que el navegador se desplaza sobre estas teclas de forma predeterminada).
Aceptado
Las teclas de flecha solo se activan con onkeydown
, no con onkeypress
.
Los códigos clave son:
- izquierda = 37
- arriba = 38
- derecha = 39
- abajo = 40
Función de llamada hacia arriba y hacia abajo con tecla. Hay códigos diferentes para cada llave.
document.onkeydown = checkKey;
function checkKey(e) {
e = e || window.event;
if (e.keyCode == '38') {
// up arrow
}
else if (e.keyCode == '40') {
// down arrow
}
else if (e.keyCode == '37') {
// left arrow
}
else if (e.keyCode == '39') {
// right arrow
}
}