Attributo keyCode dell'evento KeyboardEvent
Definizione e uso
L'attributo keyCode restituito da Evento onkeypress Codice di carattere Unicode del pulsante, o attivato onkeydown o Evento onkeyup Codice di pulsante Unicode.
Differenza tra i due tipi di codice:
- Codice di carattere - Numero che rappresenta il carattere ASCII
- Codice di tastiera - rappresenta il numero del tasto effettivo sulla tastiera
Questi tipi non sempre significano la stessa cosa. Ad esempio, i codici di tastiera per la lettera minuscola "w" e maiuscola "W" sono gli stessi, poiché la lettera premuta è la stessa ("W" = numero "87"), ma i codici di carattere sono diversi, poiché il carattere risultante è diverso ("w" o "W", ossia "119" o "87"). - Vedi di seguito ulteriori esempi per una migliore comprensione.
Suggerimento:Per sapere se l'utente ha premuto una tastiera stampabile (ad esempio "a" o "5"), è consigliabile utilizzare questa proprietà sull'evento onkeypress. Per sapere se l'utente ha premuto un tasto funzione (ad esempio "F1", "CAPS LOCK" o "Home"), utilizzare gli eventi onkeydown o onkeyup.
Nota:Nel Firefox, l'attributo keyCode non ha effetto sull'evento onkeypress (ritorna solo 0). Per una soluzione cross-browser, utilizzare Proprietà whichUtilizzato insieme a keyCode, ad esempio:
var x = event.which || event.keyCode; // Utilizzare which o keyCode a seconda del supporto del browser
Suggerimento:Per una lista 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 nuova versione della specifica degli eventi DOM suggerisce di utilizzare l'attributo key (se disponibile).
Suggerimento:Se desideri sapere se è stato premuto il tasto "ALT", "CTRL", "META" o "SHIFT" durante l'evento di pressione tastiera, utilizza altKey,ctrlKey/,metaKey o shiftKey Proprietà.
Esempio
Esempio 1
Ottenere il valore Unicode della tastiera premuta:
var x = event.keyCode;
Esempio 2
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; document.getElementById("demo").innerHTML = "Codice CARATTERE Unicode: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "Codice KEY Unicode: " + key; }
Quando si preme il tasto "a" sulla tastiera (senza usare Capslock), i risultati di char e key saranno:
Codice CARATTERE Unicode: 97 Codice KEY Unicode: 65
Esempio 3
Se l'utente preme il tasto Escape, viene visualizzato un testo:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 è il tasto ESC alert("Hai premuto il tasto Escape!"); } }
Esempio 4
Convertire il valore Unicode in un carattere (non applicabile ai tasti funzione):
var x = event.keyCode; // Ottenere il valore Unicode var y = String.fromCharCode(x); // Convertire il valore in un carattere
Sintassi
event.keyCode
Dettagli tecnici
Valore di ritorno: | Valore numerico che rappresenta il codice Unicode del carattere o il codice di pulsante Unicode. |
---|---|
Versione DOM: | Eventi DOM Level 2 |
Supporto del browser
Proprietà | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
keyCode | Supporto | Supporto | Supporto | Supporto | Supporto |
Pagine correlate
Manuale di riferimento HTML DOM:Proprietà key dell'oggetto KeyboardEvent
Manuale di riferimento HTML DOM:Proprietà charCode dell'oggetto KeyboardEvent
Manuale di riferimento HTML DOM:Proprietà which dell'oggetto KeyboardEvent