Code de la touche Entrée en JavaScript

Pour Entrée, event.key vaut Enter, event.code vaut Enter / NumpadEnter et l’obsolète keyCode vaut 13. Appuyez sur n’importe quelle touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyEnter
event.codeEnter / NumpadEnter
event.keyCode / which (obsolète)13

Comment détecter la touche Entrée

document.addEventListener('keydown', (event) => {
  if (event.key === "Enter" && !event.isComposing) {
    // Enter 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 : elles fonctionnent encore, mais leurs valeurs diffèrent selon les navigateurs et les dispositions de clavier.

Comment les navigateurs gèrent la touche Entrée

La touche Entrée envoie un formulaire lorsque le focus se trouve dans un champ de texte, et active les boutons et les liens. Vérifiez event.isComposing : lorsqu’une personne saisit du chinois, du japonais ou du coréen, Entrée valide la composition et ne doit pas déclencher votre action. La touche Entrée du pavé numérique a la même key, mais son code vaut NumpadEnter.

Avec React

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

Questions fréquentes

Quel est le keyCode de la touche Entrée ?
13. Il est toutefois obsolète : dans le nouveau code, utilisez event.key (« Enter ») ou event.code (Enter).
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 en cours ; 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 touches fléchées.