Zombie MS Internet Explorer 8 zase jednou vyskočil ze skříně. V rámci předělávání formuláře podle grafického návrhu bylo třeba skrýt checkboxy (zaškrtávátka, <input type="checkbox">), na které ale byly navázány další akce pomocí jQuery. Ve všech prohlížečích vše krásně fungovalo... ve všech, až na IE8. Po nekrátkém pátrání jsem došel k poznání (viz
#8508 (Change event does not fire on IE8 for css hidden inputs) – jQuery Core - Bug Tracker), že
click() se v IE8 na skrytý
checkbox (ať
display: none; či
visibility: hidden;) nechytá! Funguje ale
position: absolute; left: -9999px; top: -9999px; (s patřičně nastaveným overflow nadřazených prvků). Díky, Bille :-(
P.S.: Posléze zjištěno, že
"top: -9999px;" zapříčiní po kliknutí vyskakování stránky nahoru. Pozicujte pouze left!
P.P.S.: Ještě jednu nástrahu IE nachystalo - když je v <label> vložený obrázek <img>, neproklinete se checkbox (jen náhodou) a nepomůže ani explicitní
for. Je třeba se opravdu nejspíš zase spolehnout na script. Viz update dole na
Using Images as Labels in Internet Explorer - Snook.ca (jen místo
live prosím
delegate).
Žádné komentáře:
Okomentovat