Esempio
Prendi il valore Unicode del tasto della tastiera premuto:
var x = event.which;
Il risultato di x potrebbe essere:
119 // 119 is the character
"w"
Prova tu stesso " Più "Try it Yourself" esempi di seguito.
Definizione e l'utilizzo
Il quale proprietà restituisce il codice di carattere Unicode della chiave che ha attivato l' onkeypress evento o il codice chiave Unicode della chiave che ha attivato l' onkeydown o onKeyUp evento.
La differenza tra i due tipi di codice:
- i codici di carattere - Un numero che rappresenta un carattere ASCII
- i codici chiave - Un numero che rappresenta una chiave effettiva sulla tastiera
Questi tipi non sempre significano la stessa cosa; per esempio, un minuscolo "w" e maiuscola "W" hanno lo stesso codice di tastiera, perché il tasto premuto sulla tastiera è la stessa (just "W" = the number "87") , ma un differente codice di carattere perché il personaggio risultante è diversa (o "w" o "W" , che è "119" o "87") - Visualizza "More Examples" qui sotto per capire meglio.
Suggerimento: per scoprire se l'utente preme un tasto di stampa (ad esempio "a" o "5"), si consiglia di utilizzare questa proprietà sull'evento onkeypress. Per scoprire se l'utente preme un tasto funzione (ad esempio "F1" , "CAPS LOCK" o "Home") usa l'onkeydown o onKeyUp evento.
Nota: Il cui proprietà non è supportata in IE8 e precedenti. Per queste versioni del browser, è possibile utilizzare la keyCode proprietà. Tuttavia, la proprietà keyCode non funziona sull'evento onkeypress in Firefox. Per una soluzione cross-browser, è possibile utilizzare il seguente codice:
var x = event.which || event.keyCode; // Use either which or keyCode ,
depending on browser support
Suggerimento: Per un elenco di tutti i caratteri Unicode, si prega di studiare la nostra completa Unicode di riferimento .
Suggerimento: Se si desidera convertire il valore Unicode ritornato in un personaggio, utilizzare il fromCharCode() metodo.
Nota: questa proprietà è di sola lettura.
Nota: Sia il quale e keyCode proprietà vengono fornite per compatibilità. L'ultima versione della specifica DOM Eventi consiglia di utilizzare la chiave di proprietà invece (if available) .
Suggerimento: Se si vuole scoprire se la "ALT" , "CTRL" , "META" o "SHIFT" tasto è stato premuto quando un evento chiave è verificato, utilizzare l'altKey , ctrlKey , metakey o shiftKey proprietà.
Supporto browser
I numeri nella tabella indicano la prima versione del browser che supporta pienamente la proprietà.
Proprietà | |||||
---|---|---|---|---|---|
which | sì | 9.0 | sì | sì | sì |
Sintassi
event .which
Dettagli tecnici
Valore di ritorno: | Un numero, che rappresenta sia un codice di carattere Unicode o il codice chiave Unicode |
---|---|
DOM Versione: | Livello DOM 2 Eventi |

Altri esempi
Esempio
Utilizzando onkeypress e onkeydown per dimostrare le differenze tra i codici di carattere e codici di tastiera:
<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;
}
Quando si preme il "a" tasto sulla tastiera (not using caps lock) , il risultato di salmerino e la chiave sarà:
Unicode CHARACTER code: 97
Unicode KEY
code: 65
Prova tu stesso " Esempio
Avvertire un testo se l'utente preme il tasto Esc:
<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!");
}
}
Prova tu stesso " Esempio
Convertire il valore Unicode in un carattere (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
Prova tu stesso " Pagine correlate
Di riferimento HTML DOM: KeyboardEvent key Property
Di riferimento HTML DOM: KeyboardEvent keyCode Property
Di riferimento HTML DOM: KeyboardEvent charCode Property
<Oggetto evento