2010-12-07 4 views
0

У меня есть абсолютно позиционированное DIV, для которого мне нужно ловушку событий onclick. Оказывается, что в IE7 DIV, похоже, не имеет «следа» для таких вещей, как щелчок и даже курсор. Например:IE ошибка: абсолютно позиционированный элемент с непрозрачным цветом фона

div { 
     width: 200px; height: 200px; 
     position: absolute; 
     border: 10px solid black; 
     cursor: pointer; 
} 

В IE7, что DIV не имеет «след»: он не реагирует на OnClick(), и его курсор не изменяется на указатель. Любопытно, что он обрабатывает как те, которые находятся за его границей, - следовательно, большая граница в этом примере. Установка фонового цвета:

div { background-color: #fff; } 

устраняет проблему. Но в этом случае это невозможно - мне нужен DIV, чтобы иметь прозрачный фон.

Я столкнулся с этой ошибкой в ​​прошлом, но я не могу, чтобы жизнь меня помнила взлом IE, чтобы исправить это.

ответ

3

Попробуйте использовать прозрачное фоновое изображение.

Я бы предложил использовать 2x2 или больше .gif, что является всеми прозрачными пикселями. Установите его для повторения на x и y, и IE не должен иметь проблемы с кликами.

background: transparent url(path/to/spacer.gif) repeat left top; 
/* Not all of that is necessary, but I have a tendency to define it anyway. */ 
3

Имел ту же проблему и не нашел лучшего решения, чем прозрачный gif. Обратите внимание, что эта проблема также возникла в IE8 для меня. Вам не нужно использовать 2x2 px gif, достаточно 1x1 px.

Смежные вопросы