Comment capturer l'appui sur une touche, par exemple Ctrl+Z, sans placer un élément de saisie sur la page en JavaScript ? Il semble que dans IE, les événements keypress et keyup ne peuvent être liés qu'à des éléments de saisie (zones de saisie, zones de texte, etc.).
Réponses
Trop de publicités?
iusting
Points
103
Attachez un écouteur à la keydown
au lieu de keypress
puisque ce dernier est maintenant déprécié .
window.addEventListener('keydown', keyDownHandler);
Le site keydown
se déclenche en continu tant que la touche est enfoncée. Si vous voulez qu'il ne se déclenche qu'une seule fois, dans le gestionnaire, utilisez l'attribut event.repeat
la propriété ainsi :
keyDownHandler(event) {
if (!event.repeat) {
<code here will only be executed once while the key is pressed>
}
}
N'oubliez pas de retirer l'écouteur lorsque vous n'en avez plus besoin.
window.removeEventListener('keydown', keyDownHandler);
rob
Points
3743
- Réponses précédentes
- Plus de réponses