Referência rápida

Folha de Cola de Bugs Históricos do Internet Explorer (Arquivo)

Guia de referência histórico para bugs notórios no IE8 e anteriores: eventos change ausentes, falhas de foco em label, peculiaridades hasLayout e herança de opacidade.

· Publicado

Guia de referência para os famosos erros de renderização e peculiaridades de JavaScript encontrados na manutenção de sites legados do Internet Explorer (IE8).

Peculiaridades conhecidas do IE8 e soluções

1. Eventos change em controles Radio e Checkbox

No IE8, o evento change em <input type="checkbox"> e <input type="radio"> não dispara imediatamente ao clicar; ele só dispara após perder o foco.

  • Solução alternativa: Escute o evento click em vez de change para atualizações imediatas de estado.

2. Elementos <label> clicáveis envolvendo inputs

No IE8, clicar em um <label> que envolve um campo <input> falha ao alternar ou focar o controle interno.

  • Solução alternativa: Dê a cada input um id="..." único e associe-o explicitamente com <label for="...">.

3. Herança de opacidade em descendentes posicionados

Definir filter: alpha(opacity=50); em um elemento pai não se propaga para filhos com position: relative ou position: absolute.

  • Solução alternativa: Aplique a regra de filtro de opacidade diretamente nos descendentes posicionados.

4. Peculiaridades do gatilho hasLayout (IE6 / IE7)

Muitos defeitos de layout (conteúdo desaparecendo, colapso do box model) no IE6/7 ocorriam quando um elemento não tinha dimensões internas de layout.

  • Correção: Ative o hasLayout usando zoom: 1; no CSS.

Referências

Temas relacionados