En referensguide över historiskt ökända renderingsfel och JavaScript-egenheter vid underhåll av äldre Internet Explorer (IE8)-webbplatser.
Kända egenheter i IE8 och lösningar
1. change-händelser på radio- och kryssrutor
I IE8 utlöses inte change-händelsen på <input type="checkbox"> och <input type="radio"> direkt vid klick; den utlöses först när fältet tappar fokus.
- Lösning: Lyssna på
click-händelsen i stället förchangeför omedelbar statusuppdatering.
2. Klickbara <label>-element som omsluter inmatningsfält
I IE8 misslyckas klick på en <label> som omsluter ett <input>-fält med att växla eller fokusera den inre kontrollen.
- Lösning: Ge varje inmatningsfält ett unikt
id="..."och koppla det uttryckligen med<label for="...">.
3. Arv av opacitet på positionerade underordnade element
Att sätta filter: alpha(opacity=50); på ett föräldraelement förs inte vidare till underordnade element som har position: relative eller position: absolute.
- Lösning: Tillämpa opacitetsfiltret direkt på positionerade underordnade element.
4. Egenheter för att trigga hasLayout (IE6 / IE7)
Många layoutfel (försvinnande innehåll, kraschade boxmodeller) i IE6/7 uppstod när ett element saknade inre layoutdimensioner.
- Lösning: Trigga
hasLayoutmedzoom: 1;i CSS.