Existuje způsob, jak zjistit, zda je klíč aktuálně nefunkční v JavaScriptu?
Vím o události „keydown“, ale to není to, co potřebuji. Chvíli PO stisku klávesy chci být schopen zjistit, zda je stále stisknutá.
P. S. Největší problém se zdá být v tom, že po nějaké době se klíč začne opakovat a spouští události keydown a keyup jako ďábel. Doufejme, že existuje pouze jednoduchá funkce isKeyDown(key), ale pokud ne, bude třeba tento problém překonat / obejít.
Odpověď
Existuje způsob, jak zjistit, zda je klíč aktuálně nefunkční v JavaScriptu?
Ani náhodou. Jedinou možností je sledování každého keyup
a keydown
a zapamatování.
po nějaké době se klíč začne opakovat a spustí události spouštění a přikládání kláves jako ďábel.
nemělo by. Určitě dostanete keypress
opakování a v mnoha prohlížečích se také zobrazí keydown
, ale pokud keyup
opakuje, je to chyba.
Bohužel to není úplně neslýchaná chyba:na Linuxu, Chromiu a Firefoxu (když je spuštěn pod GTK+, což je v populárních distribucích, jako je Ubuntu) oba generují opakující se sekvence zvednutí-stisknutí-klávesy pro podržené klávesy, které nelze rozeznat od toho, kdy někdo zatlouká klíč opravdu rychle.