Code de la touche Alt / Option en JavaScript

Pour Alt / Option, event.key vaut Alt, event.code vaut AltLeft / AltRight et le keyCode obsolète vaut 18. Appuyez sur n’importe quelle touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyAlt
event.codeAltLeft / AltRight
event.keyCode / which (obsolète)18

Comment détecter Alt / Option

document.addEventListener('keydown', (event) => {
  if (event.key === 'Alt') {
    // Alt / Option 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 diffèrent selon les navigateurs et les dispositions de clavier.

Comment les navigateurs gèrent Alt / Option

Vérifiez event.altKey. Sur de nombreux claviers européens, la touche Alt droite est AltGr (event.key === "AltGraph") et saisit des caractères comme @ ou €, donc évitez les raccourcis Ctrl+Alt qui entrent en conflit avec elle. Sur un Mac, Option modifie event.key pour produire des caractères spéciaux : utilisez event.code pour les raccourcis Option.

Avec React

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

Questions fréquentes

Quel est le keyCode de Alt / Option ?
18. Il est toutefois obsolète : utilisez event.key (« Alt ») ou event.code (AltLeft) dans le nouveau code.
Quelle est la différence entre event.key et event.code ?
event.key correspond au caractère ou à l’action produit par la touche avec la disposition actuelle ; event.code correspond à 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 touches fléchées.