Exemple
Obtenez la valeur Unicode de la touche du clavier enfoncée:
var x = event.which;
Le résultat de x pourrait être:
119 // 119 is the character
"w"
Essayez vous - même » Plus "Try it Yourself" - "Try it Yourself" exemples ci - dessous.
Définition et utilisation
La propriété qui renvoie le code de caractères Unicode de la clé qui a déclenché l' onkeypress événement ou le code Unicode clé de la clé qui a déclenché la onkeydown ou onkeyup événement.
La différence entre les deux types de code:
- Les codes de caractères - Un nombre qui représente un caractère ASCII
- codes clés - Un nombre qui représente une clé réelle sur le clavier
Ces types ne signifient pas toujours la même chose; par exemple, un minuscule "w" et une majuscule "W" ont le même code de clavier, car la clé qui est pressée sur le clavier est le même (just "W" = the number "87") , mais un autre code de caractère parce que le caractère résultant est différent (soit "w" ou "W" , qui est "119" ou « 87 ») - Voir "More Examples" ci - dessous pour mieux le comprendre.
Conseil: Pour savoir si l'utilisateur appuie sur une touche imprimable (par exemple , "a" ou « 5 »), il est recommandé d'utiliser cette propriété sur l'événement onkeypress. Pour savoir si l'utilisateur appuie sur une touche de fonction (par exemple , "F1" , "CAPS LOCK" ou « Home ») , utilisez la onkeydown ou onkeyup événement.
Note: La propriété est que pas pris en charge dans IE8 et plus tôt. Pour ces versions du navigateur, vous pouvez utiliser la codeTouche propriété. Cependant, la propriété codeTouche ne fonctionne pas sur l'événement onkeypress dans Firefox. Pour une solution multi-navigateur, vous pouvez utiliser le code suivant:
var x = event.which || event.keyCode; // Use either which or keyCode ,
depending on browser support
Astuce: Pour une liste de tous les caractères Unicode, s'il vous plaît étudier notre référence complet Unicode .
Astuce: Si vous voulez convertir la valeur Unicode retourné dans un caractère, utilisez la fromCharCode() méthode.
Note: Cette propriété est en lecture seule.
Remarque: Les deux which et codeTouche propriété est fournie pour compatibilité. La dernière version de spécification d' événements DOM vous recommandons d' utiliser la clé propriété au lieu (if available) le (if available) .
Astuce: Si vous voulez savoir si le "ALT" , "CTRL" , "META" ou "SHIFT" appuyé sur la touche lors d' un événement clé est survenue, utilisez le altKey , ctrlKey , metaKey ou shiftKey propriété.
Support du navigateur
Les chiffres du tableau indiquent la première version du navigateur qui prend en charge entièrement la propriété.
Propriété | |||||
---|---|---|---|---|---|
which | Oui | 9.0 | Oui | Oui | Oui |
Syntaxe
event .which
Détails techniques
Valeur de retour: | Un numéro, ce qui représente soit un code de caractères Unicode ou le code clé Unicode |
---|---|
DOM Version: | DOM niveau 2 Events |
autres exemples
Exemple
En utilisant onkeypress et onkeydown pour démontrer les différences entre les codes de caractères et les codes de clavier:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">
function uniCharCode(event) {
var char = event.which ||
event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " +
char;
}
function uniKeyCode(event) {
var key = event.which
|| event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
Lorsque vous appuyez sur la "a" touche du clavier (not using caps lock) le (not using caps lock) des (not using caps lock) , le résultat de l' omble chevalier et clé sera:
Unicode CHARACTER code: 97
Unicode KEY
code: 65
Essayez vous - même » Exemple
Alerter un texte si l'utilisateur appuie sur la touche Escape:
<input type="text" onkeydown="myFunction(event)">
function
myFunction(event) {
var x = event.which || event.keyCode; //
event.keyCode is used for IE8 and earlier
if (x == 27) { // 27 is the ESC key
alert ("You pressed the Escape key!");
}
}
Essayez vous - même » Exemple
Convertir la valeur Unicode en un caractère (does not work for function keys) les (does not work for function keys) :
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Essayez vous - même » Pages associées
Référence HTML DOM: KeyboardEvent key Property
Référence HTML DOM: KeyboardEvent keyCode Property
Référence HTML DOM: KeyboardEvent charCode Property
<Object Event