Código de la tecla flecha abajo en JavaScript

Para Arrow Down, event.key es ArrowDown, event.code es ArrowDown y el obsoleto keyCode es 40. Pulsa cualquier tecla en el Buscador de códigos de tecla para ver sus valores en tiempo real.

Actualizado el

PropiedadValor
event.keyArrowDown
event.codeArrowDown
event.keyCode / which (obsoleto)40

Cómo detectar la tecla Arrow Down

document.addEventListener('keydown', (event) => {
  if (event.key === "ArrowDown") {
    // Arrow Down was pressed
  }
});

Usa event.key para reaccionar al significado de la tecla (depende de la distribución del teclado) y event.code para su posición física, por ejemplo WASD en juegos. keyCode y which están obsoletas: siguen funcionando, pero sus valores varían entre navegadores y distribuciones de teclado.

Cómo tratan los navegadores la tecla Arrow Down

Arrow Down abre las listas desplegables nativas <select> (con Alt en Windows) y pasa al siguiente elemento en menús y listas de opciones. Llama a preventDefault() en widgets personalizados para que la página no se desplace.

En React

<input onKeyDown={(e) => { if (e.key === "ArrowDown") { /* … */ } }} />

Preguntas frecuentes

¿Cuál es el keyCode de Arrow Down?
40. Sin embargo, está obsoleto: en código nuevo usa event.key (“ArrowDown”) o event.code (ArrowDown).
¿Cuál es la diferencia entre event.key y event.code?
event.key es el carácter o la acción que produce la tecla con la distribución actual; event.code es la posición física de la tecla, igual en todas las distribuciones.
¿Debo usar keydown o keypress?
keydown. El evento keypress está obsoleto y no se dispara para teclas que no producen caracteres, como Escape o las flechas.