Quando si verifica un KeyboardEvent
incendio, puoi verificare quale tasto è stato premuto perché quell'evento contiene informazioni su cui puoi scrivere logica.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Ad esempio, premendo "a", otterrai 65
. Apparentemente è meglio scrivere logica rispetto alla quale, poiché keyCode e charCode sono complicati:
La proprietà event.which normalizza event.keyCode e event.charCode. Si consiglia di guardare event.which per l'inserimento dei tasti della tastiera.
E:
In un evento keypress, il valore Unicode del tasto premuto viene memorizzato nella proprietà keyCode o charCode, mai in entrambe. Se il tasto premuto genera un carattere (es. 'A'), charCode viene impostato sul codice di quel carattere, rispettando le maiuscole. (cioè charCode tiene conto se il tasto shift è tenuto premuto). In caso contrario, il codice del tasto premuto viene memorizzato in keyCode.
Strumento Tester
Vedi il tester Pen event.keyCode di Chris Coyier (@chriscoyier) su CodePen.
Valori del codice chiave
Ecco una tabella che contiene i valori da event.which
.
|
|
|
Zell Liew ha notato che 3 di questi codici chiave erano diversi in Firefox rispetto al resto dei browser
;
è 59 in Firefox ma 186 in altri browser.=
è 61 in Firefox ma 187 in altri browser.-
è 173 in Firefox ma 189 in altri browser.
Nota importante: questi valori del codice chiave sono validi solo durante gli eventi in keydown
ed keyup
. Su Mac, gli keypress
eventi ti danno una serie di codici completamente diversa.
Per esempio:
Chiave | event.which in keydown | event.which in pressione dei tasti |
un | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |