Guida di riferimento ai celebri bug di rendering e anomalie JavaScript incontrati mantenendo siti legacy per Internet Explorer (IE8).
Anomalie note di IE8 e soluzioni
1. Eventi change su controlli Radio e Checkbox
In IE8, l’evento change su <input type="checkbox"> e <input type="radio"> non scatta immediatamente al clic, ma solo alla perdita del focus.
- Soluzione: Ascolta l’evento
clickinvece dichangeper aggiornamenti immediati di stato.
2. Elementi <label> cliccabili che racchiudono input
In IE8, fare clic su una <label> che contiene un input non seleziona né attiva il controllo interno.
- Soluzione: Assegna a ogni input un
id="..."univoco e collegalo esplicitamente con<label for="...">.
3. Ereditarietà dell’opacità su discendenti posizionati
Impostare filter: alpha(opacity=50); su un elemento padre non si propaga ai figli con position: relative o position: absolute.
- Soluzione: Applica la regola del filtro di opacità direttamente agli elementi figli posizionati.
4. Anomalie di attivazione hasLayout (IE6 / IE7)
Molti difetti di layout (contenuto che scompare, collassi del box-model) in IE6/7 avvenivano quando un elemento mancava di dimensioni interne di layout.
- Soluzione: Attiva
hasLayoutusandozoom: 1;nel CSS.