Code de la touche Delete en JavaScript

Pour Delete, event.key vaut Delete, event.code vaut Delete et la propriété obsolète keyCode vaut 46. Appuyez sur n'importe quelle touche dans le Key Code Finder pour afficher ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyDelete
event.codeDelete
event.keyCode / which (obsolète)46

Comment détecter Delete

document.addEventListener('keydown', (event) => {
  if (event.key === "Delete") {
    // Delete 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 de Delete dans les navigateurs

Delete supprime le caractère situé après le curseur, ou l'élément sélectionné dans les gestionnaires de fichiers et les listes. Sur les ordinateurs portables Mac, il s'obtient avec Fn+Delete, car la touche étiquetée « delete » envoie Backspace.

Dans React

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

Questions fréquentes

Quel est le keyCode de Delete ?
46. Il est toutefois obsolète : dans le nouveau code, utilisez event.key (« Delete ») ou event.code (Delete).
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 flèches.