Når en KeyboardEvent
fyrer, kan du teste, hvilken tast der blev trykket på, fordi begivenheden indeholder oplysninger, du kan skrive logik mod.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
For eksempel, ved at trykke på “a”, får du 65
. Det er tilsyneladende bedst at skrive logik, som keyCode og charCode er kompliceret mod:
Event.which egenskaben normaliserer event.keyCode og event.charCode. Det anbefales at se event.which til tastaturindgang.
Og:
I en tastetrykbegivenhed gemmes Unicode-værdien for den tast, der trykkes på, i keyCode- eller charCode-ejendommen, aldrig begge. Hvis tasten, der trykkes på, genererer et tegn (f.eks. 'A'), indstilles charCode til koden for det tegn, der respekterer bogstavet. (dvs. charCode tager højde for, om shift-tasten holdes nede). Ellers gemmes koden for den trykte tast i keyCode.
Testværktøj
Se Pen event.keyCode-testeren af Chris Coyier (@chriscoyier) på CodePen.
Nøglekodeværdier
Her er en tabel, der indeholder værdierne fra event.which
.
|
|
|
Zell Liew bemærkede, at 3 af disse nøglekoder var forskellige i Firefox end resten af browserne
;
er 59 i Firefox, men 186 i andre browsere.=
er 61 i Firefox, men 187 i andre browsere.-
er 173 i Firefox, men 189 i andre browsere.
Vigtig note: Disse nøglekodeværdier er kun gyldige under ind- keydown
og keyup
begivenheder. På Mac giver keypress
begivenheder dig et helt andet sæt koder.
For eksempel:
Nøgle | event.which i keydown | event.which med tastetryk |
-en | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |