Maison > interface Web > js tutoriel > Comment détecter les pressions sur les touches fléchées en JavaScript : pourquoi onkeypress ne fonctionne pas et la solution onkeydown

Comment détecter les pressions sur les touches fléchées en JavaScript : pourquoi onkeypress ne fonctionne pas et la solution onkeydown

DDD
Libérer: 2024-11-16 18:37:03
original
255 Les gens l'ont consulté

How to Detect Arrow Key Presses in JavaScript: Why onkeypress Doesn't Work and the onkeydown Solution

Détection des pressions sur les touches fléchées en JavaScript : un guide complet

La détection des pressions sur les touches est une tâche courante dans le développement Web, en particulier lors de la création de contrôles interactifs. Alors que la plupart des touches peuvent être détectées avec précision à l'aide de l'écouteur d'événements onkeypress, les touches fléchées posent un défi unique. Cet article explique pourquoi les touches fléchées ne peuvent pas être détectées à l'aide de onkeypress et fournit une solution simple pour capturer les pressions sur les touches fléchées en JavaScript.

Le dilemme des touches fléchées

Lorsque vous utilisez onkeypress pour détecter les pressions sur les touches, cela fonctionne parfaitement pour la plupart des clés. Cependant, les touches fléchées (gauche, haut, droite, bas) ne déclenchent pas l'événement onkeypress. En effet, les navigateurs gèrent les touches fléchées différemment, initiant le comportement de défilement par défaut.

Solution : Utilisation de onkeydown

Pour détecter les pressions sur les touches fléchées, vous devez utiliser l'écouteur d'événement onkeydown au lieu de onkeypress. L'événement onkeydown se déclenche chaque fois qu'une touche est enfoncée, y compris les touches fléchées. Voici une version mise à jour de votre extrait de code à l'aide de onkeydown :

function checkKey(e) {
    var event = window.event ? window.event : e;
    console.log(event.keyCode);
}
Copier après la connexion

Codes clés des touches fléchées

Pour identifier des touches fléchées spécifiques, vous pouvez utiliser leurs codes clés correspondants :

  • Gauche : 37
  • Haut : 38
  • Droite : 39
  • Bas : 40

En comparant le event.keyCode à ces valeurs, vous pouvez facilement déterminer quelle touche fléchée a été enfoncée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal