Проблема IE7 с div поверх другого div, поэтому он будет выглядеть отключенным

#jquery #html #css

#jquery #HTML #css

Вопрос:

Я поместил div .ontopdivs поверх другого div .notradewin с помощью jQuery, чтобы он выглядел так, как будто он отключен, он отлично работает со всеми браузерами, кроме IE7.

В IE7 все в нижнем div по-прежнему работает: наведите курсор на изображение, выберите открыть по щелчку мыши, текст, который я могу пометить.

(Это не форма, и использовать disabled="disabled" ее не является ответом. попробовал)

Select — это плагин, который я написал, поэтому, я думаю, я могу исправить это в плагине, но все ссылки все еще работают.

Код jQuery:

 $("div.notradewin").each(function() {
    var thisoffset = $(this).offset();
    var thiswidth = $(this).width()   4;
    var thisheight = $(this).height()   4;
    $("#bodywrap").append('<div class="ontopdivs" style="background-color: transparent; width: '   thiswidth   'px; height:'   thisheight   'px;position: absolute;top:'   thisoffset.top   'px;left: '   thisoffset.left   'px;z-index: 12 !important;overflow: hidden;"></div>')
})
 

Как мне заставить это работать?

Ответ №1:

В IE существует известная проблема с событиями мыши на прозрачном фоне. Смотрите Этот пост, объясняющий проблему.

Попробуйте добавить background-image: url(.) , если у вас должен быть прозрачный фон.

Ответ №2:

Попробуйте использовать блочный пользовательский интерфейс, он может блокировать определенные элементы. http://jquery.malsup.com/block/#element

Комментарии:

1. я не знал, что Block UI может делать это для определенных элементов. Спасибо

Ответ №3:

В IE7 полностью прозрачные элементы не получают события щелчка (или наведения курсора, по-видимому). Попробуйте поместить следующее в таблицу стилей для IE7 и старше (ссылка здесь):

 filter: alpha(opacity=1);
 

Это установит непрозрачность на 1%, которая будет казаться прозрачной, но все равно должна позволять перехватывать события щелчка.

Комментарии:

1. Я хочу, чтобы верхний div блокировал все клики или наведение курсора мыши, которые происходят в нижнем div. таким образом, нижний div будет отключен.

2. Верно, и тот факт, что верхний div прозрачен, приводит к тому, что щелчки и наведения не блокируются в IE7.