Ghid de referință pentru erorile notorii de randare și particularitățile JavaScript întâlnite în mentenanța site-urilor vechi pentru Internet Explorer (IE8).
Particularități cunoscute ale IE8 și soluții de ocolire
1. Evenimente change pe controale Radio și Checkbox
În IE8, evenimentul change pe <input type="checkbox"> și <input type="radio"> nu se declanșează imediat la clic, ci doar după pierderea focusului.
- Soluție: Ascultă evenimentul
clickîn locul luichangepentru actualizări instantanee de stare.
2. Elemente <label> clicabile care conțin câmpuri de intrare
În IE8, clicul pe un <label> care învelește un <input> nu activează și nu focalizează controlul interior.
- Soluție: Asigură-te că fiecare input are un
id="..."unic și asociază-l explicit prin<label for="...">.
3. Moștenirea opacității pe descendenții poziționați
Setarea filter: alpha(opacity=50); pe părinte nu se propagă către descendenții care au position: relative sau position: absolute.
- Soluție: Aplică regula filtrului de opacitate direct pe copiii poziționați.
4. Declanșarea hasLayout (IE6 / IE7)
Multe probleme de layout (dispariția conținutului, erori ale box-model-ului) în IE6/7 apăreau când un element nu avea dimensiuni interne de layout.
- Rezolvare: Activează
hasLayoutfolosindzoom: 1;în CSS.