Snabbreferens

Fusklapp för äldre Internet Explorer-buggar (Arkiv)

Historisk referensguide för ökända buggar i IE8 och tidigare: saknade change-händelser, label-fokusproblem, hasLayout-egenheter och arv av opacitet.

· Publicerad

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ör change fö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 hasLayout med zoom: 1; i CSS.

Referenser

Relaterade ämnen