Código de la tecla Espacio en JavaScript

Para Espacio, event.key es " " (a space), event.code es Space y el obsoleto keyCode es 32. Pulsa cualquier tecla en el Buscador de códigos de tecla para ver sus valores en tiempo real.

Actualizado el

PropiedadValor
event.key" " (a space)
event.codeSpace
event.keyCode / which (obsoleto)32

Cómo detectar la tecla Espacio

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

Usa event.key para reaccionar a lo que significa la tecla (sigue la distribución del teclado) y event.code para su posición física, por ejemplo WASD en juegos. keyCode y which están obsoletos: siguen funcionando, pero sus valores varían entre navegadores y distribuciones.

Cómo tratan los navegadores la tecla Espacio

El valor de la tecla es un carácter de espacio, no “Space”. La tecla Espacio activa botones y casillas y desplaza la página cuando nada más la gestiona; llama a preventDefault() si tu control personalizado la usa, o la página saltará.

En React

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

Preguntas frecuentes

¿Cuál es el keyCode de la tecla Espacio?
32. Aunque está obsoleto: usa event.key (“ (un espacio)”) o event.code (Space) en código nuevo.
¿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 con teclas que no producen caracteres, como Escape o las flechas.