Kun KeyboardEvent
tulipalot, voit testata, mitä näppäintä painettiin koska tapahtuma sisältää tietoja voit kirjoittaa logiikkaa vastaan.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Esimerkiksi painamalla "a" saat 65
. Ilmeisesti on parasta kirjoittaa logiikkaa, jota vastaan, koska keyCode ja charCode ovat monimutkaisia:
Event.which -ominaisuus normalisoi event.keyCode ja event.charCode. On suositeltavaa katsoa tapahtumaa. Joka näppäimistön näppäinten syöttämistä varten.
Ja:
Näppäintapahtumassa painetun näppäimen Unicode-arvo tallennetaan joko keyCode- tai charCode-ominaisuuteen, ei koskaan molempiin. Jos painettu avain tuottaa merkin (esim. 'A'), charCode asetetaan kyseisen merkin koodiksi kirjainkokoa kunnioittaen. (ts. charCode ottaa huomioon, pidetäänkö vaihtonäppäintä alhaalla). Muussa tapauksessa painetun näppäimen koodi tallennetaan keyCode-koodiin.
Testerityökalu
Katso Chris Coyierin (@chriscoyier) Pen event.keyCode -testaaja CodePenistä.
Avainkoodiarvot
Tässä on taulukko, joka sisältää arvot kohteesta event.which
.
|
|
|
Zell Liew huomasi, että 3 näistä avainkoodeista oli erilaisia Firefoxissa kuin muut selaimet
;
on 59 Firefoxissa, mutta 186 muissa selaimissa.=
on 61 Firefoxissa, mutta 187 muissa selaimissa.-
on 173 Firefoxissa, mutta 189 muissa selaimissa.
Tärkeää: Nämä näppäinkoodi arvot ovat voimassa vain vuonna keydown
ja keyup
tapahtumissa. Macissa keypress
tapahtumat antavat sinulle aivan erilaiset koodisarjat.
Esimerkiksi:
Avain | event.which Keydownissa | event.which näppäimen painalluksessa |
a | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |