keypress

Obsolète
Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

L'évènement keypress est déclenché lorsqu'une touche produisant un caractère est pressée. Cela concerne les touches qui produisent des caractères alphabétiques, des caractères numériques et des signes de ponctuations. Les touches Alt, Shift, Ctrl ou Meta ne sont pas concernées.

Attention ! Cet évènement est déprécié et il faudrait plutôt utiliser beforeinput ou keydown.

Interface KeyboardEvent
Remonte sur les parents (bubbles) Oui
Annulable Oui
Action par défaut Cela peut varier : évènement keypress ; ouverture du système de composition du texte ; évènements blur et focus ; évènement DOMActivate ; autre évènement.

Exemples

Ajout d'un addEventListener

Dans cet exemple, on affiche la valeur de KeyboardEvent.code lorsqu'on appuie sur une touche :

<p>
   Cliquez dans l'iframe pour lui passer le focus
   puis appuyez sur des touches du clavier.
</p>
<p id="log"></p>
const log = document.getElementById('log');

document.addEventListener('keypress', logKey);

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

Équivalent onkeypress

document.onkeypress = logKey;

Spécifications

Spécification État
UI Events Version de travail

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
keypress event
Obsolète
Chrome Support complet Oui
Notes
Support complet Oui
Notes
Notes Chrome does not fire the keypress event for known keyboard shortcuts. Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.
Edge Support complet OuiFirefox Support complet Oui
Notes
Support complet Oui
Notes
Notes As of Firefox 65, the keypress event is no longer fired for non-printable keys, except for the Enter key, and the Shift + Enter and Ctrl + Enter key combinations (these were kept for cross-browser compatibility purposes).
IE ? Opera ? Safari ? WebView Android Support complet Oui
Notes
Support complet Oui
Notes
Notes Chrome does not fire the keypress event for known keyboard shortcuts. Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.
Chrome Android Support complet Oui
Notes
Support complet Oui
Notes
Notes Chrome does not fire the keypress event for known keyboard shortcuts. Which keyboard shortcuts are known depends on the user's system. Use the keydown event to implement keyboard shortcuts.
Firefox Android Support complet Oui
Notes
Support complet Oui
Notes
Notes As of Firefox 65, the keypress event is no longer fired for non-printable keys, except for the Enter key, and the Shift + Enter and Ctrl + Enter key combinations (these were kept for cross-browser compatibility purposes).
Opera Android ? Safari iOS ? Samsung Internet Android ?

Légende

Support complet  
Support complet
Compatibilité inconnue  
Compatibilité inconnue
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Voir aussi