Minulla on JavaScript listener joka valvoo näppäimistön painalluksia sivulla (document.onkeypress = *komennot*). Nuolinäppäimet sivuille vaihtavat sivulla eräitä asetuksia. Sivulla on myös teksti-input.
Miten voin estää funktion toiminnan jos tietty input on aktiivinen? Tämä on tuottanut harmaita hiuksia, vaikka ratkaisu lienee yksinkertainen? Olen OnBlur ja OnFocusilla yrittänyt viritellä jotain, mutta mikään ei tunnu onnistuvan.
if((document.all)?event.keyCode:e.keyCode==37) { tee_jotain(); }
Tämän toiminta siis pitäisi estää jos input on aktiivinen.
Teoriassa seuraavan pitäisi toimia:
var tekstinSyottoKesken = false; tekstikentta.onfocus = function() { tekstinSyottoKesken = true; }; tekstikentta.onblur = function() { tekstinSyottoKesken = false; }; document.onkeypress = function(e) { if (tekstinSyottoKesken) return true; // Ei syödä eventtiä // "*komennot*" tähän };
En tosin ole testannut.
map_ kirjoitti:
Teoriassa seuraavan pitäisi toimia..
Hei, hienoa! Pienellä säädöllä sain pelittämään.
Kiitos, arvostan suuresti apuasi :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.