Code de la touche Moins (-) en JavaScript

Pour Minus (-), event.key vaut - (or _ with Shift), event.code vaut Minus et le keyCode déprécié vaut 189. Appuyez sur une touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.key- (or _ with Shift)
event.codeMinus
event.keyCode / which (déprécié)189

Comment détecter la touche Moins (-)

document.addEventListener('keydown', (event) => {
  if (event.key === "-") {
    // Minus (-) 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 dépréciés : ils fonctionnent encore, mais leurs valeurs diffèrent selon les navigateurs et les dispositions.

Comment les navigateurs gèrent la touche Moins (-)

Firefox renvoyait historiquement keyCode 173 pour cette touche, une raison de plus d'utiliser event.key.

Dans React

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

Questions fréquentes

Quel est le keyCode de la touche Moins (-) ?
189. Il est toutefois déprécié : utilisez event.key (« - » ou « _ » avec Maj) ou event.code (Minus) 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 en cours ; 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 déprécié et ne se déclenche pas pour les touches qui ne produisent pas de caractère, comme Échap ou les flèches directionnelles.