GlobalEventHandlers.onkeydown

La propriété onkeydown, rattachée au mixin GlobalEventHandlers, est un gestionnaire d'évènements (en-US) qui permet de traiter les évènements keydown (en-US).

L'évènement keydown est déclenché lorsque l'utilisatrice ou l'utilisateur appuie sur une touche du clavier.

Syntaxe

js
cible.onkeydown = refFunction;

Value

refFunction est un nom de fonction ou une expression de fonction. La fonction reçoit un objet KeyboardEvent comme unique argument.

Exemple

Cet exemple affiche la valeur de KeyboardEvent.code à chaque fois qu'on appuie sur une touche à l'intérieur de l'élément <input>.

HTML

html
<input />
<p id="log"></p>

JavaScript

js
const input = document.querySelector("input");
const log = document.getElementById("log");

input.onkeydown = logKey;

function logKey(e) {
  log.textContent += ` ${e.code}`;
}

Résultat

Spécifications

Specification
UI Events
# event-type-keydown
HTML Standard
# handler-onkeydown

Compatibilité des navigateurs

BCD tables only load in the browser

Notes de compatibilité

Depuis Firefox 65, les évènements keyup (en-US) et keydown (en-US) sont désormais déclenchés pendant la composition IME afin d'améliorer la compatibilité entre les navigateurs pour les locuteurs de langues asiatiques (CJKT) (voir le bug 354358). Pour ignorer les évènements keydown qui font partie d'une composition, on pourra écrire quelque chose d'analogue au fragment qui suit (229 est une valeur spéciale de keyCode relative à un évènement qui a été traité par un IME) :

js
eventTarget.addEventListener("keydown", (event) => {
  if (event.isComposing || event.keyCode === 229) {
    return;
  }
  // faire quelque chose
});

Voir aussi