Attributo which dell'evento KeyboardEvent
Definizione e uso
L'attributo which restituisce il Evento onkeypress Il codice di carattere Unicode del pulsante, o il onkeydown o onkeyup Il codice di pulsante Unicode dell'evento di pulsante
La differenza tra i due tipi di codici:
- Codice di carattere - rappresenta il numero ASCII del carattere
- Codice di pulsante - rappresenta il numero effettivo della tastiera
Questi tipi non sempre significano la stessa cosa. Ad esempio, il codice della tastiera per la minuscola "w" e la maiuscola "W" sono uguali, poiché la tastiera premuta è la stessa ("W" = numero "87"), ma il codice del carattere è diverso, poiché il carattere risultante è diverso ("w" o "W", ossia "119" o "87") - si prega di consultare ulteriori esempi per una migliore comprensione.
Suggerimento:Se si desidera sapere se l'utente ha premuto una tastiera stampabile (ad esempio "a" o "5"), si consiglia di utilizzare questa proprietà sull'evento onkeypress. Per sapere se l'utente ha premuto una tastiera funzionale (ad esempio "F1", "CAPS LOCK" o "Home"), utilizzare gli eventi onkeydown o onkeyup.
Nota:IE8 e versioni precedenti non supportano l'attributo which. Per queste versioni di browser, puoi utilizzare l'attributo keyCode. Tuttavia, l'attributo keyCode non funziona per l'evento onkeypress in Firefox. Per una soluzione cross-browser, puoi utilizzare il seguente codice: }}
var x = event.which || event.keyCode; // Usa which o keyCode a seconda del supporto del browser
Suggerimento:Per l'elenco di tutti i caratteri Unicode, consulta la nostra Riferimento completo Unicode.
Suggerimento:Se si desidera convertire un valore Unicode in un carattere, utilizzare Metodo fromCharCode().
Nota:Questa proprietà è sola lettura.
Nota:Le proprietà keyCode e which sono fornite solo per la compatibilità. La versione più recente della specifica degli eventi DOM suggerisce di utilizzare l'attributo key (se disponibile).
Suggerimento:Se desideri sapere se sono stati premuti i tasti "ALT", "CTRL", "META" o "SHIFT" durante l'evento di pulsante, utilizza altKey、ctrlKey、metaKey o shiftKey Proprietà.
Esempio
Ottieni il valore Unicode della chiave premuta:
var x = event.which;
Più esempi TIY sono disponibili nella parte inferiore della pagina.
Sintassi
event.which
Dettagli tecnici
Valore di ritorno: | Valore numerico che rappresenta il codice Unicode del carattere o il codice della tastiera Unicode. |
---|---|
Versione DOM: | DOM Level 2 Events |
Supporto del browser
I numeri nella tabella indicano la versione del browser che supporta completamente questa proprietà.
Proprietà | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
which | Supportato | 9.0 | Supportato | Supportato | Supportato |
Più esempi
Esempio
Utilizzando onkeypress e onkeydown per illustrare la differenza tra i codici di carattere e i codici di tastiera:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; // event.keyCode è utilizzato nelle versioni IE8 e precedenti document.getElementById("demo").innerHTML = "Codice CARATTERE Unicode: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode è utilizzato nelle versioni IE8 e precedenti document.getElementById("demo2").innerHTML = "Codice KEY Unicode: " + key; }
Premendo il tasto "a" sulla tastiera (senza usare Capslock), i risultati di char e key saranno:
Codice CARATTERE Unicode: 97 Codice KEY Unicode: 65
Esempio
Se l'utente preme il tasto Escape, viene visualizzato un testo:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode è utilizzato nelle versioni IE8 e precedenti if (x == 27) { // 27 è il tasto ESC alert ("Hai premuto il tasto Escape!"); } }
Esempio
Convertire il valore Unicode in un carattere (non applicabile ai tasti funzione):
var x = event.which || event.keyCode; // Ottenere il valore Unicode var y = String.fromCharCode(x); // Convertire il valore in un carattere
Pagine correlate
Manuale di riferimento HTML DOM:Proprietà key Evento KeyboardEvent
Manuale di riferimento HTML DOM:Proprietà keyCode Evento KeyboardEvent
Manuale di riferimento HTML DOM:Proprietà charCode Evento KeyboardEvent