8
votes

code clé sur l'événement de la clé

J'utilise un événement clé

où je reçois le code-clés et le convertit en caractères.

Mais j'ai eu un problème où dans le clavier est appuyer sur 2 il donne 50 et charcode comme 2

Quand j'appuie 2 dans numpad, il donne un code keyCode 98 , donc lorsque je convertit le charcode a


0 commentaires

3 Réponses :


1
votes

Vous aurez le code de caractères dans KeyPress Event
Essayez ceci: http://www.w3.org/2002/09/ Tests / keys.html

Ils utilisent le code suivant pour convertir en caractères: xxx

Ce peut également être utile en tant que référence de codes clés


0 commentaires

2
votes

Il suffit de regarder cette solution Similaire à votre exigence

et pour la référence de code-clés Utilisez ce

et code KeyCode dépend du navigateur Vérifiez-le


0 commentaires

13
votes

qui se passe parce que vous utilisez le membre KeyCode , par exemple, une minuscule "A" et une majuscule "A" ont le même code-clé, car est la même clé, mais une Différent charcode car le caractère résultant est différent.

Pour obtenir le charcode, vous devez utiliser l'événement KeyPress et obtenir le membre Event.Chrocode Si disponible, sinon, sinon, Vous obtenez le event.keycode qui pour IE, sur l'événement KeyPress a les bonnes informations.

Attention à ce qui suit exemple : xxx


1 commentaires

Avec ce code: quand je tape "2", je reçois le charcode 0; code clé 50; caractère 2; Quand je tape Maj-2, je reçois la même chose, mais dans ma zone de texte, "@" apparaît. L'événement OnKeyPress ne semble pas savoir si Yoour Shift Key est en panne ....