comment puis-je suivre la flèche touches de Chrome et IE?
Im en utilisant foloowing code de suivre les principaux événements
oEvent=window.event || oEvent;
iKeyCode=oEvent.keyCode || oEvent.which;alert(iKeyCode);
sa me donne des alertes dans firefox mais pas sous IE et chrome. Sa me donnant tous les autres keyborad personnages, mais pas touche esc et les touches fléchées.
Comment puis-je détecter la touche esc et les touches fléchées en chrome et IE à l'aide de javascript??
- c'est parce que il y a des différences dans la façon dont vous fixez un événement à un nœud DOM entre les navigateurs. Je ne sais pas pour vous ce que le code exact pour les différents navigateurs est tho.
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas vraiment besoin de JQuery, mais il rend votre code plus court.
Vous devrez utiliser l'événement keyDown, pression de touche ne fonctionnera pas dans les anciennes versions d'IE pour les touches fléchées.
Il y a un tutoriel complet ici que vous pouvez utiliser, voir l'exemple avec les touches fléchées près du bas de la page:
http://www.cryer.co.uk/resources/javascript/script20_respond_to_keypress.htm
Voici un code que j'ai utilisé, un peu simplifiée depuis que j'ai eu à gérer répété des combinaisons de touches avec mise en mémoire tampon:
document.onkeydown = function(event) { ... }
Je viens de face d'un même problème. Il y a au moins une différence de Chrome poignées de la
keypress
etkeydown
/keyup
événements.keypress
événement en Chrome n'est pas déclenché par des touches de direction, alors que pourkeydown
etkeyup
il est.problème: webkit envoie un mot de code 38 (flèche vers le haut) à la pression de touche lorsque vous faites shift-7 (esperluette).
résumé: & et à la fois l'égalité 38. % et gauche à la fois l'égalité 37. ' et à droite à la fois l'égalité 39. ( et vers le bas à la fois égal à 40. pour firefox et opera, la 37/38/39/40 ne sont pas envoyés pour le &, %, ', (. ils ne les envoyer pour haut, bas, gauche, droite. mais webkit et ie envoyer 37/38/39/40 pour les deux touches fléchées et &, %, ', (. notez que pour le haut/bas/gauche/droite, webkit jeux de charCode à 0, mais pas pour le &, %, ', (.
solution: donc, si vous le traitement de ces événements par mot de code, vous avez besoin de l'ignorer lorsque la touche maj est enfoncée ou vérifier si la charCode est 0
Utilisation de jQuery et d'utiliser quelque chose comme ceci:
Codes de caractères:
37: gauche
38: jusqu'
39: droit
40: vers le bas
Démo
Essayez d'utiliser la bibliothèque jquery pour faire ce que vous avez besoin et ensuite à l'appel ci-dessous. Dans la démo, vous pouvez cliquer dans la zone de saisie, puis commencez à taper. Il vous alerte avec le code de la clé. Vous pouvez lier l'écouteur d'événement à n'importe quel élément de votre page. Il ne doit pas juste être une entrée.
Ici est une formulation laconique:
Toutefois, si vous utilisez JQuery, vous êtes mieux d'utiliser
e.which
, JQuery qui "normalise" pour le compte de la croix-navigateur différences:Cela a fonctionné pour moi dans Opera20 et IE8. (Je n'ai pas de Chrome afin de le tester.)