Code de la touche Tab en JavaScript

Pour Tab, event.key vaut Tab, event.code vaut Tab et le keyCode obsolète vaut 9. Appuyez sur n'importe quelle touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyTab
event.codeTab
event.keyCode / which (obsolète)9

Comment détecter Tab

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

Utilisez event.key pour réagir à la signification de la touche (elle suit la disposition du clavier) et event.code pour sa position physique, par exemple WASD dans les jeux. keyCode et which sont obsolètes : ils fonctionnent encore, mais leurs valeurs varient selon les navigateurs et les dispositions de clavier.

Comment les navigateurs gèrent Tab

Tab déplace le focus vers l'élément focusable suivant, et Maj+Tab vers le précédent. Ne capturez cette touche que dans les widgets qui en ont besoin, comme les éditeurs de code, et offrez aux utilisateurs du clavier un moyen d'en sortir (par exemple Échap, puis Tab).

Dans React

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

Questions fréquentes

Quel est le keyCode de Tab ?
9. Il est toutefois obsolète : utilisez event.key (« Tab ») ou event.code (Tab) dans le nouveau code.
Quelle est la différence entre event.key et event.code ?
event.key est le caractère ou l'action produit par la touche avec la disposition actuelle ; event.code est la position physique de la touche, identique sur toutes les dispositions.
Faut-il utiliser keydown ou keypress ?
keydown. L'événement keypress est obsolète et ne se déclenche pas pour les touches qui ne produisent pas de caractère, comme Échap ou les flèches.