KeyboardEvent quale proprietà
Esempio
Ottieni il valore Unicode del tasto della tastiera premuto:
var x = event.which;
Altri esempi "Provalo da solo" di seguito.
Definizione e utilizzo
La proprietà which restituisce il codice carattere Unicode della chiave che ha attivato l' evento onkeypress o il codice chiave Unicode della chiave che ha attivato l' evento onkeydown o onkeyup .
La differenza tra i due tipi di codice:
- Codici carattere: un numero che rappresenta un carattere ASCII
- Codici tasti - Un numero che rappresenta un tasto effettivo sulla tastiera
Questi tipi non significano sempre la stessa cosa; ad esempio, una "w" minuscola e una "W" maiuscola hanno lo stesso codice della tastiera, perché il tasto che viene premuto sulla tastiera è lo stesso (solo "W" = il numero "87"), ma un diverso codice carattere perché il carattere risultante è diverso (o "w" o "W", che è "119" o "87") - Vedi "Altri esempi" di seguito per capirlo meglio.
Suggerimento: per sapere se l'utente sta premendo un tasto stampabile (ad es. "a" o "5"), si consiglia di utilizzare questa proprietà sull'evento onkeypress. Per scoprire se l'utente sta premendo un tasto funzione (es. "F1", "BLOC MAIUSC" o "Home") utilizzare l'evento onkeydown o onkeyup.
Nota: la proprietà which non è supportata in IE8 e versioni precedenti. Per queste versioni del browser, puoi utilizzare la proprietà keyCode . Tuttavia, la proprietà keyCode non funziona sull'evento onkeypress in Firefox. Per una soluzione cross-browser, puoi utilizzare il codice seguente:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
Suggerimento: per un elenco di tutti i caratteri Unicode, consulta il nostro Riferimento Unicode completo .
Suggerimento: se desideri convertire il valore Unicode restituito in un carattere, utilizza il metodo fromCharCode() .
Nota: questa proprietà è di sola lettura.
Nota: sia la proprietà which che quella keyCode sono fornite solo per la compatibilità. L'ultima versione della specifica degli eventi DOM consiglia di utilizzare invece la proprietà chiave (se disponibile).
Suggerimento: se vuoi scoprire se il tasto "ALT", "CTRL", "META" o "SHIFT" è stato premuto quando si è verificato un evento chiave, usa la proprietà altKey , ctrlKey , metaKey o shiftKey .
Supporto browser
I numeri nella tabella specificano la prima versione del browser che supporta completamente la proprietà.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
Sintassi
event.which
Dettagli tecnici
Valore di ritorno: | Un numero, che rappresenta un codice carattere Unicode o il codice chiave Unicode |
---|---|
Versione DOM: | Eventi DOM di livello 2 |
Altri esempi
Esempio
Utilizzo di onkeypress e onkeydown per dimostrare le differenze tra codici carattere e codici 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 tasto "a" sulla tastiera (non si utilizza il blocco maiuscole), il risultato di char e key sarà:
Unicode CHARACTER code: 97
Unicode KEY code: 65
Esempio
Avvisa del 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!");
}
}
Esempio
Converti il valore Unicode in un carattere (non funziona per i tasti funzione):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Pagine correlate
Riferimento HTML DOM: chiave KeyboardEvent Property
Riferimento HTML DOM: KeyboardEvent keyCode Property
Riferimento HTML DOM: proprietà KeyboardEvent charCode