Справочник по исторически известным ошибкам отрисовки и особенностям JavaScript, возникающим при поддержке устаревших сайтов под Internet Explorer (IE8).
Известные особенности IE8 и способы обхода
1. События change на радиокнопках и чекбоксах
В IE8 событие change на <input type="checkbox"> и <input type="radio"> не срабатывает сразу при клике, а вызывается только после потери фокуса.
- Обходное решение: Отслеживайте событие
clickвместоchangeдля мгновенного обновления состояния.
2. Кликабельные элементы <label>, оборачивающие поля ввода
В IE8 клик по <label>, содержащему внутри <input>, не переключает состояние и не переводит фокус на внутренний элемент.
- Обходное решение: Задайте каждому полю уникальный
id="..."и явно свяжите его через<label for="...">.
3. Наследование прозрачности позиционированными потомками
Правило filter: alpha(opacity=50); на родителе не наследуется дочерними элементами с position: relative или position: absolute.
- Обходное решение: Задавайте фильтр прозрачности напрямую позиционированным дочерним элементам.
4. Особенности активации hasLayout (IE6 / IE7)
Многие ошибки вёрстки (исчезающий текст, поломка блочной модели) в IE6/7 происходили из-за отсутствия внутренних размеров макета у элемента.
- Исправление: Активируйте
hasLayoutс помощьюzoom: 1;в CSS.