Código da tecla Enter em JavaScript

Para Enter, event.key é Enter, event.code é Enter / NumpadEnter e o keyCode obsoleto é 13. Pressione qualquer tecla no Localizador de Código de Tecla para ver os valores dela em tempo real.

Atualizado em

PropriedadeValor
event.keyEnter
event.codeEnter / NumpadEnter
event.keyCode / which (obsoleto)13

Como detectar o Enter

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

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

Como os navegadores tratam o Enter

O Enter envia um formulário quando o foco está em um campo de texto, e ativa botões e links. Verifique event.isComposing: enquanto alguém digita em chinês, japonês ou coreano, o Enter confirma a composição e não deve disparar a sua ação. O Enter do teclado numérico tem o mesmo key, mas code NumpadEnter.

No React

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

Perguntas frequentes

Qual é o keyCode do Enter?
13. Ele está obsoleto, no entanto: use event.key (“Enter”) ou event.code (Enter) 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, igual em todos os layouts.
Devo usar keydown ou keypress?
keydown. O evento keypress está obsoleto e não é disparado para teclas que não produzem caracteres, como Escape ou as setas.