Código da tecla Tab em JavaScript

Para Tab, event.key é Tab, event.code é Tab e o keyCode obsoleto é 9. Pressione qualquer tecla no Key Code Finder para ver os valores ao vivo.

Atualizado em

PropriedadeValor
event.keyTab
event.codeTab
event.keyCode / which (obsoleto)9

Como detectar a tecla Tab

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

Como os navegadores tratam a tecla Tab

A tecla Tab move o foco para o próximo elemento focável, e Shift+Tab move para o anterior. Capture-a só em widgets que precisam disso, como editores de código, e sempre ofereça ao usuário de teclado uma forma de sair (por exemplo, Escape e depois Tab).

No React

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

Perguntas frequentes

Qual é o keyCode da tecla Tab?
9. Ele é obsoleto, então use event.key (“Tab”) ou event.code (Tab) 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 é obsoleto e não dispara para teclas que não produzem caracteres, como Escape ou as setas.