Przewodnik po historycznych błędach renderowania i osobliwościach JavaScript spotykanych podczas utrzymywania starszych witryn dla Internet Explorera (IE8).
Znane problemy IE8 i obejścia
1. Zdarzenia change na polach wyboru radio i checkbox
W IE8 zdarzenie change na <input type="checkbox"> oraz <input type="radio"> nie wywołuje się od razu po kliknięciu, lecz dopiero po utracie fokusu.
- Obejście: Nasłuchuj zdarzenia
clickzamiastchange, aby natychmiast reagować na zmianę stanu.
2. Klikalne elementy <label> otaczające pola formularzy
W IE8 kliknięcie <label> zawierającego wewnątrz pole <input> nie przełącza ani nie przenosi fokusu do kontrolki.
- Obejście: Nadaj każdemu polu unikalne
id="..."i powiąż je jawnie przez<label for="...">.
3. Dziedziczenie przezroczystości na pozycjonowanych potomkach
Ustawienie filter: alpha(opacity=50); na elemencie nadrzędnym nie przechodzi na dzieci mające position: relative lub position: absolute.
- Obejście: Przypisz regułę filtra przezroczystości bezpośrednio do pozycjonowanych elementów podrzędnych.
4. Problemy z aktywacją hasLayout (IE6 / IE7)
Wiele błędów układu (znikająca treść, załamania modelu pudełkowego) w IE6/7 wynikało z braku wewnętrznych wymiarów układu elementu.
- Naprawa: Wymuś
hasLayoutza pomocązoom: 1;w CSS.