Utilia

Klavišų kodų ieškiklis

Paspausk bet kurį klavišą ir pamatyk jo JavaScript event.key, event.code, keyCode, which bei location reikšmes, modifikatorius, istoriją ir pilną lentelę.

Spustelėk „Pradėti klavišų fiksavimą“ arba langelį žemiau, tada paspausk bet kurį klavišą. Spustelėk už langelio ribų, kad klaviatūra vėl priklausytų puslapiui.

event.key Paspausk klavišą keyCode – Čia fiksuojami ir Tab, rodyklės bei spartieji klavišai.
event.key
–
event.code
–
event.keyCode
–
event.which
–
event.location
–
event.repeat
–
Įjungti užraktai
–
Modifikatoriai
ctrlKey shiftKey altKey metaKey
Klavišų istorija (naujausi viršuje)
Klavišų istorija (naujausi viršuje)
ĮvykiskeycodekeyCodelocationModifikatoriairepeat
Klavišų kodų lentelė (US QWERTY)

Klavišų kodų lentelė (US QWERTY)
keycodekeyCodelocationPastaba

key reikšmės pateiktos JAV klaviatūros išdėstymui be modifikatorių; kiti išdėstymai to paties code klavišui duoda kitus simbolius. keyCode ir which yra pasenę, bet vis dar plačiai naudojami.

Kaip rasti klavišo kodą

  1. Spustelėk Pradėti klavišų fiksavimą arba didįjį langelį. Spalvotas rėmelis rodo, kad klausoma.
  2. Paspausk bet kurį klavišą ar spartųjį klavišą. Dideliame ekrane rodoma key reikšmė ir senas keyCode, o žemiau esančiose kortelėse išvardyti event.key, event.code, event.keyCode, event.which, event.location, event.repeat ir Įjungti užraktai (Caps Lock, Num Lock, AltGraph).
  3. Modifikatoriai ženkleliai įsižiebia pagal ctrlKey, shiftKey, altKey ir metaKey.
  4. Nukopijuok JavaScript kodas šiam klavišui. Per Lyginti pagal pasirink event.key, event.code arba event.keyCode (legacy).
  5. Peržiūrėk Klavišų istorija (naujausi viršuje), kad palygintum kelis paspaudimus. Pažymėk Registruoti ir keyup įvykius, jei nori matyti ir atleidimus.
  6. Kai reikia reikšmės nespaudžiant klavišo, naršyk arba filtruok Klavišų kodų lentelė (US QWERTY).

Kol langelis aktyvus, kiekvieno klavišo numatytasis veiksmas blokuojamas, todėl Tab, rodyklės, Backspace ar Ctrl+S yra užfiksuojami, o ne perkelia fokusą ar atidaro dialogo langą. Spustelėk bet kur už langelio ribų, kad klaviatūra vėl priklausytų puslapiui. Kai kuriuos sparčiuosius klavišus operacinė sistema apdoroja anksčiau, nei juos pamato naršyklė (Alt+Tab, Ctrl+Alt+Del, Cmd+Tab, dažnai Print Screen), todėl jų joks tinklalapis perskaityti negali.

key, code ar keyCode: kurį naudoti?

KeyboardEvent turi kelias reikšmes, kurios atsako į skirtingus klausimus:

Savybė Ką ji parodo Pavyzdys (klavišas A AZERTY klaviatūroje)
key Sukurtas simbolis arba pavadinimas po išdėstymo ir modifikatorių "a", su Shift "A"
code Fizinė klavišo padėtis, nepriklausoma nuo išdėstymo "KeyQ"
keyCode / which Senas skaičius, dažniausiai didžiosios raidės ASCII kodas 65
location 0 standartinis, 1 kairysis, 2 dešinysis, 3 skaičių klaviatūra 0

Naudok key, kai svarbi prasmė: Enter formai pateikti, Escape uždaryti, „?“ pagalbos skydeliui atidaryti. Naudok code žaidimams ir spartiesiems klavišams, kurie priklauso nuo klavišų padėties, pavyzdžiui, WASD judėjimui, kuris prancūzų AZERTY ar vokiečių QWERTZ klaviatūroje turi likti toje pačioje vietoje. Naujame kode venk keyCode ir which: jie pasenę, jų reikšmės skirtingose naršyklėse skiriasi skyrybos ženklams (kabliataškiui Firefox siunčia 59, o Chrome – 186), be to, jie neskiria kairiojo ir dešiniojo Shift ar dviejų Enter klavišų. Vis dėlto juos verta žinoti prižiūrint senesnį kodą, todėl šis įrankis juos rodo.

Apie kodo fragmentą

Sugeneruotas klausytojas atitinka tiksliai tą klavišą, kurį paspaudei, įskaitant Ctrl, Alt ir Meta. Spausdinamiems simboliams, lyginamiems pagal key, Shift praleidžiamas, nes jis jau įtrauktas į reikšmę: Shift+1 JAV išdėstyme duoda "!". Kai modifikatorių paspaudi vieną, fragmente jo žymė nekartojama. Atmink, kad metaKey yra Cmd klavišas Mac kompiuteryje ir Windows klavišas kompiuteryje su Windows, todėl tarpplatformiai spartieji klavišai dažniausiai tikrina event.ctrlKey || event.metaKey.

Dažnai užduodami klausimai

Kodėl keyCode skirtingiems simboliams rodo tą patį skaičių?

keyCode nurodo klavišą, o ne simbolį. Skaitmuo 1 ir „!“ turi bendrą 49, o „a“ ir „A“ – 65. Tikrą simbolį gausi perskaitęs key.

Kodėl mano AZERTY klavišas rodomas kaip KeyQ?

code klavišus įvardija pagal jų padėtį JAV QWERTY klaviatūroje. Prancūziškos klaviatūros klavišas su raide A yra ten, kur JAV klaviatūroje yra Q, todėl jo code yra KeyQ, o key – „a“.

Ką reiškia „Dead“ event.key reikšmėje?

Tai negyvasis klavišas, pavyzdžiui, ^ ar ¨ prancūziškoje klaviatūroje, kuris laukia kito klavišo, kad sudarytų raidę su diakritiniu ženklu. Galutinį simbolį pateikia kitas klavišo įvykis arba teksto laukelio input įvykis.

Kodėl event.repeat rodo „taip“?

Laikai klavišą nuspaudęs, o operacinė sistema siunčia automatinius pakartojimus. Patikrink event.repeat, jei nori jų nepaisyti, pavyzdžiui, kad spartusis klavišas suveiktų tik vieną kartą.

Ar kas nors, ką renku, įrašoma ar siunčiama?

Ne. Klavišų įvykius skaito šis puslapis tavo naršyklėje ir niekur jų nesiunčia. Istorija dingsta, kai perkrauni ar palieki puslapį.