Maison >interface Web >js tutoriel >Pourquoi les frappes fléchées ne sont-elles pas détectées dans ma fonction JavaScript « checkKey » ?

Pourquoi les frappes fléchées ne sont-elles pas détectées dans ma fonction JavaScript « checkKey » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-24 14:04:14750parcourir

Why are Arrow Keystrokes Not Detected in My JavaScript `checkKey` Function?

Identification des touches et détection des touches fléchées en JavaScript

La détection des entrées au clavier est essentielle pour de nombreuses applications JavaScript. Bien que l'identification des frappes soit généralement simple, la gestion des touches fléchées présente un défi unique en raison de leur comportement de défilement natif dans la plupart des navigateurs. Cette question explore un problème rencontré lors de l'utilisation de la fonction checkKey, qui capture avec succès les pressions sur les touches mais ne parvient pas à détecter les frappes fléchées.

La réponse à ce problème réside dans les types d'événements spécifiques associés aux touches fléchées. Contrairement aux touches ordinaires, les touches fléchées déclenchent uniquement l'événement onkeydown. Par conséquent, pour capturer la saisie des touches fléchées, il est nécessaire de modifier la fonction checkKey en conséquence :

function checkKey(e) {
    var event = window.event ? window.event : e;
    if (event.type === "keydown")  // Check for keydown event
        console.log(event.keyCode)
}

De plus, la réponse fournit les codes clés correspondants pour les touches fléchées :

  • gauche = 37
  • haut = 38
  • droite = 39
  • bas = 40

En utilisant ces codes clés, les développeurs peuvent facilement implémenter des fonctionnalités qui répondent aux pressions sur les touches fléchées.

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!

Déclaration:
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