Code de la touche Flèche haut en JavaScript

Pour Flèche haut, event.key vaut ArrowUp, event.code vaut ArrowUp et le keyCode obsolète vaut 38. Appuyez sur n’importe quelle touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyArrowUp
event.codeArrowUp
event.keyCode / which (obsolète)38

Comment détecter Flèche haut

document.addEventListener('keydown', (event) => {
  if (event.key === "ArrowUp") {
    // Arrow Up 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.

Comportement des navigateurs avec Flèche haut

Les touches fléchées font défiler la page et déplacent le curseur. Dans les listes personnalisées, les menus et les grilles, gérez-les pour déplacer le focus entre les éléments, et appelez preventDefault() pour que la page ne défile pas en même temps.

Avec React

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

Questions fréquentes

Quel est le keyCode de la touche Flèche haut ?
38. Il est toutefois obsolète : utilisez event.key (« ArrowUp ») ou event.code (ArrowUp) 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.