Når en KeyboardEvent
fyrer, kan du teste hvilken tast som ble trykket på fordi hendelsen inneholder informasjon du kan skrive logikk mot.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
For eksempel, ved å trykke “a”, får du 65
. Det er tilsynelatende best å skrive logikk som keyCode og charCode er kompliserte mot:
Event.which-egenskapen normaliserer event.keyCode og event.charCode. Det anbefales å se event.which for tastaturinngang.
Og:
I en tastetrykkshendelse lagres Unicode-verdien til tasten som trykkes ned i enten keyCode- eller charCode-egenskapen, aldri begge deler. Hvis tasten du trykker på genererer et tegn (f.eks. 'A'), blir charCode satt til koden til det tegnet, med respekt for bokstavsaken. (dvs. charCode tar hensyn til om skiftnøkkelen holdes nede). Ellers lagres koden til den trykkte tasten i keyCode.
Testverktøy
Se Pen event.keyCode tester av Chris Coyier (@chriscoyier) på CodePen.
Nøkkelkodeverdier
Her er en tabell som inneholder verdiene fra event.which
.
|
|
|
Zell Liew la merke til at 3 av disse nøkkelkodene var forskjellige i Firefox enn resten av nettleserne
;
er 59 i Firefox, men 186 i andre nettlesere.=
er 61 i Firefox, men 187 i andre nettlesere.-
er 173 i Firefox, men 189 i andre nettlesere.
Viktig merknad: Disse nøkkelkodeverdiene er bare gyldige under inn- keydown
og keyup
hendelser. På Mac gir keypress
hendelser deg et helt annet sett med koder.
For eksempel:
Nøkkel | event.which i keydown | event.which i tastetrykk |
en | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |