Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: JavaScript: Kuinka estää keyCode-listener jos input aktivoituna

grandvia [09.05.2009 00:22:36]

#

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.

map_ [09.05.2009 01:19:14]

#

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.

grandvia [11.05.2009 16:51:21]

#

map_ kirjoitti:

Teoriassa seuraavan pitäisi toimia..

Hei, hienoa! Pienellä säädöllä sain pelittämään.

Kiitos, arvostan suuresti apuasi :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta