Klahvikoodi leidja
Vajuta mis tahes klahvi ja näe selle JavaScripti väärtusi event.key, event.code, keyCode ja which, muutjaklahve, ajalugu ning täielikku koodide tabelit.
Vajuta „Alusta klahvide jäädvustamist“ või klõpsa allolevat kasti ning vajuta mis tahes klahvi. Klõpsa väljaspool kasti, et anda klaviatuur lehele tagasi.
- event.key
- –
- event.code
- –
- event.keyCode
- –
- event.which
- –
- event.location
- –
- event.repeat
- –
- Lukustusklahvid sees
- –
| Sündmus | key | code | keyCode | location | Muutjaklahvid | repeat |
|---|
| key | code | keyCode | location | Märkus |
|---|
key väärtused kehtivad USA paigutusele ilma muutjaklahvideta; teised paigutused annavad samale koodile teisi märke. keyCode ja which on iganenud, kuid siiski laialt kasutusel.
Kuidas klahvikoodi leida
- Vajuta Alusta klahvide jäädvustamist või klõpsa suurt kasti. Värviline ääris näitab, et kuulamine on käimas.
- Vajuta mis tahes klahvi või kiirklahvi. Suur kuva näitab
keyväärtust ja vanakeyCodekoodi ning allolevad kaardid loetlevadevent.key,event.code,event.keyCode,event.which,event.location,event.repeatja Lukustusklahvid sees (Caps Lock, Num Lock, AltGraph). - Sildid jaotises Muutjaklahvid süttivad
ctrlKey,shiftKey,altKeyjametaKeyjaoks. - Kopeeri JavaScripti lõik selle klahvi jaoks. Valikuga Võrdle väärtust vali
event.key,event.codevõievent.keyCode (vana). - Kerides Klahvide ajalugu (uusim ees) saad mitut vajutust võrrelda. Märgi Logi ka keyup-sündmused, et näha ka klahvi vabastamisi.
- Sirvi või filtreeri tabelit Klahvikoodide tabel (US QWERTY), kui vajad väärtust klahvi vajutamata.
Kui kast on fookuses, blokeeritakse iga klahvi vaiketoiming, nii et Tab, nooleklahvid, Backspace või Ctrl+S jäädvustatakse ning need ei liiguta fookust ega ava dialoogi. Klõpsa kus tahes väljaspool kasti, et anda klaviatuur lehele tagasi. Mõnda kiirklahvi töötleb operatsioonisüsteem enne brauserit (Alt+Tab, Ctrl+Alt+Del, Cmd+Tab, sageli ka Print Screen), seega ei saa ükski veebileht neid lugeda.
key, code või keyCode: millist kasutada?
KeyboardEvent kannab mitut väärtust, mis vastavad erinevatele küsimustele:
| Omadus | Mida see ütleb | Näide (A-klahv AZERTY paigutusel) |
|---|---|---|
key |
Loodud märk või nimega klahv, arvestades paigutust ja muutjaid | "a", Shiftiga "A" |
code |
Klahvi füüsiline asukoht, paigutusest sõltumatu | "KeyQ" |
keyCode / which |
Vana number, tavaliselt tähe suurtähe ASCII-kood | 65 |
location |
0 tavaline, 1 vasak, 2 parem, 3 numbriklahvistik | 0 |
Kasuta key, kui oluline on tähendus: Enter saatmiseks, Escape sulgemiseks, “?” abipaneeli avamiseks. Kasuta code mängudes ja kiirklahvides, mis sõltuvad klahvide asukohast, näiteks WASD-liikumine, mis peaks jääma samasse kohta ka prantsuse AZERTY või saksa QWERTZ klaviatuuril. Väldi uues koodis keyCode ja which: need on iganenud, nende väärtused erinevad brauserites kirjavahemärkide puhul (Firefox annab semikoolonile 59, Chrome 186) ning need ei suuda eristada vasakut ja paremat Shifti ega kahte Enter-klahvi. Vanema koodi hooldamisel tasub neid siiski tunda, mistõttu see tööriist neid näitab.
Lõigu kohta
Loodud kuulaja vastab täpselt sinu vajutatud klahvile, sealhulgas Ctrl, Alt ja Meta. Trükitavate märkide puhul, mida võrreldakse key järgi, jäetakse Shift välja, sest see on juba väärtuses sees: Shift+1 annab USA paigutusel "!". Kui vajutad muutjaklahvi üksi, ei korda lõik selle lippu. Pea meeles, et metaKey on Macis Cmd-klahv ja arvutis Windowsi klahv, seega platvormideülesed kiirklahvid kontrollivad tavaliselt event.ctrlKey || event.metaKey.
Korduma kippuvad küsimused
Miks keyCode näitab erinevatele märkidele sama numbrit?
keyCode tuvastab klahvi, mitte märki. Number 1 ja “!” jagavad väärtust 49 ning “a” ja “A” väärtust 65. Tegeliku märgi saamiseks loe key.
Miks minu AZERTY klahv on KeyQ?
code nimetab klahve USA QWERTY klaviatuuri asukoha järgi. Prantsuse klaviatuuri klahv A asub seal, kus USA klaviatuuril on Q, seega on selle kood KeyQ, key aga “a”.
Mida tähendab "Dead" väärtuses event.key?
See on surnud klahv, näiteks ^ või ¨ prantsuse klaviatuuril, mis ootab järgmist klahvi, et moodustada rõhumärgiga täht. Lõpliku märgi annab järgmine klahvisündmus või tekstivälja input-sündmus.
Miks event.repeat ütleb jah?
Hoiad klahvi all ja operatsioonisüsteem saadab automaatseid kordusi. Kontrolli event.repeat, et neid ignoreerida, näiteks et käivitada kiirklahv ainult üks kord.
Kas midagi, mida trükin, salvestatakse või saadetakse?
Ei. Klahvisündmusi loeb see leht sinu brauseris ja neid ei saadeta kuhugi. Ajalugu kaob, kui lehe uuesti laed või sealt lahkud.
Seotud tööriistad
- Klaviatuuri test Tasuta klaviatuuri test süütab iga vajutatud klahvi, näitab key-, code- ja location-väärtusi, loeb N-key rollover'it ning leiab kinnijäänud klahvid.
- Regexi testija Testi JavaScripti regulaaravaldisi otse: esiletõstetud vasted, püüdvad grupid, asendus ja selge selgitus iga mustri elemendi kohta.
- JavaScripti AST-uurija Kleebi JavaScripti kood ja uuri selle abstraktset süntaksipuud (ESTree, Acorn) brauseris. Klõpsa sõlmedel, et näha koodi, ja ekspordi AST JSON-ina.