Derniers tutoriels de développement web
 

KeyboardEvent which Property

<Object Event

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

Exemples

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