Código da tecla Escape em JavaScript

Para Escape, event.key é Escape, event.code é Escape e o obsoleto keyCode é 27. Pressione qualquer tecla no Localizador de Códigos de Tecla para ver os valores em tempo real.

Atualizado em

PropriedadeValor
event.keyEscape
event.codeEscape
event.keyCode / which (obsoleto)27

Como detectar a tecla Escape

document.addEventListener('keydown', (event) => {
  if (event.key === "Escape") {
    // Escape 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 estão obsoletos: ainda funcionam, mas os valores variam entre navegadores e layouts.

Como os navegadores tratam a tecla Escape

Escape é a forma padrão de fechar diálogos, menus e popovers. Um <dialog> nativo fecha com Escape sozinho e dispara um evento cancel. Os navegadores também usam a tecla Escape para sair da tela cheia, e esse pressionamento normalmente não chega à página.

No React

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

Perguntas frequentes

Qual é o keyCode da tecla Escape?
27. Mas ele está obsoleto: use event.key (“Escape”) ou event.code (Escape) em código novo.
Qual é a diferença entre event.key e event.code?
event.key é o caractere ou 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 dispara para teclas que não produzem caracteres, como Escape ou as setas.