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") { /* … */ } }} />Verificador de Keycode JavaScript
Pressione qualquer tecla e veja na hora todas as propriedades do evento de teclado, com um trecho keydown pronto para copiar para atalhos.