Autor Zpráva
Darker
Profil
Mám funkci která se má provés když uživatel ztratí okno se stránkou ze zřetele. Problém je v tom, že většinu ztránky tvoří dva iframy,
a právě při provedení OnBlurového skriptu jeden iframe zmizí. To je správně. Ale špatně je, že zmizí i v případě, že se klikne do něj.
Lze to nějak obejít?
Zkoušel jsem OnBlurový skript při zakliknutí iframu dočasně blokovat.
<body onBlur="if(schovavat) {schovej();}">
<iframe src="uz.nevim.jak.dal" onfocus="schovavat=false" onBlur="schovavat=true"></iframe>

To nepomohlo. Zkoušel jsem tam dát i delay, v domění že se třeba prvně to okno schová a pak teprv změní proměnná a nepomohlo to.
Chamurappi
Profil
Reaguji na darkera:
Ve vlastnosti (event.srcElement || event.target) bys měl najít objekt, na němž k události došlo.
(Ale připadá mi to divné, onblur by neměl probublávat.)
Darker
Profil
Děkuju za odpověď, ale já nevím, kde mám to cos mi napsal použít.
Nikdy jsem nic podobného neviděl.
(Jestli to jde vygooglovat, najdu si to)
Chamurappi
Profil
Reaguji na darkera:
Děkuju za odpověď
Už asi chápu, čím to je způsobené. Poradil jsem ti špatně.

Jiný rámec je v podstatě jiné okno, takže to předchozí (byť rodičovské) ztrácí focus, jakmile dostane focus potomek. Tvůj trik s proměnnou schovavat by možná mohl fungovat, pokud ty onfocus a onblur dáš na <body> vnitřní stránky (a místo schovavat budeš nastavovat parent.schovavat).
Darker
Profil
Chamurappi:
No, to já vím, že je to jiné okno. Probllém je v tom, že celý rámec se chová jako interní prohlížeč a jeho adresa se průběžně mění podle zadání. Proto to s tím
onFocus
nejde.


PS.: Neodkázal bys mě prosím na nějaké vysvětlení té funkce
(event.srcElement || event.target
?
Darker
Profil
Vyřešeno pomocí onmouseover,onMouseOut.
Náhodou jsem zjistil, že onFocus funguje v IE zatímco v Mozille ne.
Chamurappi
Profil
Reaguji na darkera:
Neodkázal bys mě prosím na nějaké vysvětlení té funkce (event.srcElement || event.target)
Dvě svislítka jsou logické nebo.
Některé prohlížeče podporují event.srcElement, některé event.target se stejným významem. Mnou doporučený zápis vrátí to, co existuje.

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:

0