Autor Zpráva
Fisir
Profil
Ahoj,
mám kód v JavaScriptu který detekuje stisknutí nějaké klávesy. Já bych potřeboval poradit s nějakou podmínkou, že by se skript prováděl pouze tehdy, pokud není aktivní žádné textové pole (jak <input> tak i <textaera>). Ono totiž po stisknutí klávesy „M“ samo vyjíždí horizontální menu. A nevypadá příliš efektně, když se do textového pole vloží písmeno „M“ a ono vyjede menu.
Chamurappi
Profil
Reaguji na Fisira:
V event.srcElement || event.target je element, na němž k události došlo. Můžeš ověřovat jeho tagName, nebo třeba jestli má vlastnost form, kterou mají formulářové prvky (jen ty uvnitř formulářů)…
Fisir
Profil
Chamurappi:
OK, našel jsem o tom něco, děkuji, vyzkouším a dám vědět.
Chamurappi
Profil
Reaguji na Fisira:
Viz Navigace šipkami na klávesnici.
Fisir
Profil
Chamurappi:
Velmi děkuji, funguje!
Pro ty, co by to potřebovali, tady je řešení:
if(target.tagName != "INPUT" || target.tagName != "TEXTAREA"){ // Pokud není aktivní textové pole
    // Další kódy
};



Fisir:
Aha, jenže teď kód uvnitř nefunguje nikde…

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: