čtvrtek 30. ledna 2014

IE8, skrytý checkbox a jQuery - půlden v pr...

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).

MAKE Magazine

Technology Review RSS Feeds

Nejčtenější příspěvky