Código da tecla Space em JavaScript

Para Space, event.key é " " (a space), event.code é Space e o obsoleto keyCode é 32. Pressione qualquer tecla no Key Code Finder para ver os valores em tempo real.

Atualizado em

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

Como detectar a tecla Space

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

Use event.key para reagir ao significado da tecla (ela segue o layout do teclado) e event.code para a posição física dela, por exemplo WASD em jogos. keyCode e which são obsoletos: ainda funcionam, mas seus valores variam entre navegadores e layouts.

Como os navegadores tratam a tecla Space

O valor da tecla é um caractere de espaço, não “Space”. A tecla Space ativa botões e checkboxes e rola a página quando nada mais a trata; chame preventDefault() se o seu controle personalizado usar essa tecla, ou a página vai pular.

No React

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

Perguntas frequentes

Qual é o keyCode da tecla Space?
32. Porém ele é obsoleto: use event.key (“ (um espaço)”) ou event.code (Space) em código novo.
Qual é a diferença entre event.key e event.code?
event.key é o caractere ou a ação que a tecla produz com o layout atual; event.code é a posição física da tecla, a mesma em todos os layouts.
Devo usar keydown ou keypress?
keydown. O evento keypress é obsoleto e não dispara para teclas que não produzem caracteres, como Escape ou as setas.