Vyhľadávač kódov kláves
Stlač ľubovoľnú klávesu a zobrazia sa jej hodnoty JavaScriptu event.key, event.code, keyCode, which a location, s modifikátormi, históriou a úplnou tabuľkou.
Stlač „Začať zachytávať klávesy“ alebo klikni na pole nižšie a potom stlač ľubovoľnú klávesu. Kliknutím mimo poľa vrátiš klávesnicu stránke.
- event.key
- –
- event.code
- –
- event.keyCode
- –
- event.which
- –
- event.location
- –
- event.repeat
- –
- Zapnuté zámky
- –
| Udalosť | key | code | keyCode | location | Modifikátory | repeat |
|---|
| key | code | keyCode | location | Poznámka |
|---|
hodnoty key platia pre americké rozloženie bez modifikátorov; iné rozloženia dávajú pre ten istý kód iné znaky. keyCode a which sú zastarané, no stále sa široko používajú.
Ako zistiť kód klávesu
- Stlač Začať zachytávať klávesy alebo klikni na veľké pole. Farebný rámik ukazuje, že nástroj počúva.
- Stlač ľubovoľnú klávesu alebo skratku. Veľký displej ukáže hodnotu
keya zastaranýkeyCode, karty pod ním uvádzajúevent.key,event.code,event.keyCode,event.which,event.location,event.repeata Zapnuté zámky (Caps Lock, Num Lock, AltGraph). - Odznaky Modifikátory sa rozsvietia pre
ctrlKey,shiftKey,altKeyametaKey. - Skopíruj Úryvok JavaScriptu pre túto klávesu. V poli Porovnávať podľa vyberieš medzi
event.key,event.codealeboevent.keyCode (zastarané). - V Histórii kláves (najnovšie navrchu) môžeš porovnať viac stlačení. Zaškrtni Zaznamenávať aj udalosti keyup, ak chceš vidieť aj uvoľnenia.
- Ak potrebuješ hodnotu bez stláčania klávesu, prechádzaj alebo filtruj tabuľku Prehľad kódov kláves (US QWERTY).
Kým má pole fokus, predvolená akcia každej klávesy sa blokuje, takže Tab, šípky, Backspace alebo Ctrl+S sa zachytia namiesto presunu fokusu či otvorenia dialógu. Kliknutím kamkoľvek mimo poľa vrátiš klávesnicu stránke. Niektoré skratky spracuje operačný systém skôr, než ich uvidí prehliadač (Alt+Tab, Ctrl+Alt+Del, Cmd+Tab, často aj Print Screen), a preto ich nemôže prečítať žiadna webová stránka.
Funguje v tvojom prehliadači. Nič, čo zadáš, sa neodosiela na server.
key, code alebo keyCode: ktorý použiť?
Udalosť KeyboardEvent nesie viacero hodnôt, ktoré odpovedajú na rôzne otázky:
| Vlastnosť | Čo ti hovorí | Príklad (klávesa A na AZERTY) |
|---|---|---|
key |
Vzniknutý znak alebo pomenovaná klávesa po zohľadnení rozloženia a modifikátorov | "a", "A" so Shiftom |
code |
Fyzická poloha klávesy, nezávislá od rozloženia | "KeyQ" |
keyCode / which |
Zastarané číslo, zvyčajne ASCII kód veľkého písmena | 65 |
location |
0 štandardná, 1 ľavá, 2 pravá, 3 numerická klávesnica | 0 |
Použi key, keď záleží na význame: Enter na odoslanie, Escape na zatvorenie, „?“ na otvorenie panela pomocníka. Použi code pri hrách a skratkách, ktoré závisia od polohy kláves, napríklad pri pohybe cez WASD, ktorý má zostať na tom istom mieste aj na francúzskej klávesnici AZERTY alebo nemeckej QWERTZ. V novom kóde sa vyhni keyCode a which: sú zastarané, ich hodnoty sa pri interpunkcii líšia medzi prehliadačmi (Firefox posiela pre bodkočiarku 59, kým Chrome 186) a nedokážu rozlíšiť ľavý a pravý Shift ani dva Enter. Pri údržbe staršieho kódu ich však poznať treba, a preto ich tento nástroj zobrazuje.
O úryvku
Vygenerovaný poslucháč zodpovedá presne tej klávese, ktorú si stlačil, vrátane Ctrl, Alt a Meta. Pri tlačiteľných znakoch porovnávaných podľa key sa Shift vynecháva, pretože je už súčasťou hodnoty: Shift+1 dáva na americkom rozložení "!". Keď stlačíš samotný modifikátor, úryvok jeho príznak neopakuje. Pamätaj, že metaKey je na Macu klávesa Cmd a na PC klávesa Windows, takže skratky pre viac platforiem zvyčajne testujú event.ctrlKey || event.metaKey.
Často kladené otázky
Prečo keyCode ukazuje rovnaké číslo pre rôzne znaky?
keyCode identifikuje klávesu, nie znak. Číslica 1 a „!“ majú spoločné 49, „a“ a „A“ majú spoločné 65. Skutočný znak zistíš z key.
Prečo sa moja klávesa na AZERTY zobrazuje ako KeyQ?
code pomenúva klávesy podľa polohy na americkej klávesnici QWERTY. Klávesa s písmenom A na francúzskej klávesnici je na mieste, kde je na americkej Q, preto jej code je KeyQ, zatiaľ čo key je „a“.
Čo znamená „Dead“ v event.key?
Je to mŕtva klávesa, napríklad ^ alebo ¨ na francúzskej klávesnici, ktorá čaká na ďalšiu klávesu, aby vytvorila písmeno s diakritikou. Výsledný znak doručí nasledujúca udalosť klávesu alebo udalosť input textového poľa.
Prečo event.repeat hlási áno?
Držíš klávesu stlačenú a operačný systém posiela automatické opakovania. Hodnotu event.repeat skontroluj, ak ich chceš ignorovať, napríklad aby sa skratka spustila iba raz.
Zaznamenáva sa alebo odosiela niečo z toho, čo píšem?
Nie. Udalosti kláves číta táto stránka v tvojom prehliadači a nikam sa neodosielajú. História zmizne, keď stránku znova načítaš alebo opustíš.
Súvisiace nástroje
- Test klávesnice Bezplatný online test klávesnice rozsvieti každý stlačený kláves, ukáže hodnoty key, code a location, zmeria N-key rollover a odhalí zaseknuté klávesy.
- Tester regulárnych výrazov Testuj regulárne výrazy JavaScriptu naživo so zvýraznenými zhodami, zachytávacími skupinami, nahradením a vysvetlením každého prvku vzoru v bežnom jazyku.
- Prehliadač AST pre JavaScript Vlož JavaScript a prezeraj si jeho abstraktný syntaktický strom (ESTree, parser Acorn) v prehliadači. Klikaj na uzly a exportuj AST ako JSON.