Окна выбора IE8 и IE9 закрываются при наведении курсора - PullRequest
27 голосов
/ 05 апреля 2011

У меня возникла эта странная проблема, как в теме: в IE (я тестирую версию 8, у меня не было возможности протестировать более старые / более новые версии) и только в IE все поля выбора на моем веб-сайте начали закрываться, как только я наведите курсор мыши, чтобы выбрать вариант. Это не происходит в Firefox, и это не происходит на моем локальном сервере, только на тестовом удаленном сервере (да, два сайта идентичны). Итак, подведем итог: Локальная версия: все хорошо, даже в IE. Удаленная версия: блоки выбора IE «вылетают», как только я на них наведу. Есть идеи?

Ответы [ 8 ]

33 голосов
/ 02 ноября 2012

У меня была эта проблема только в IE8, и вот как я ее решил:

В моем CSS я применял семейство шрифтов к SELECT.Вместо этого я применил его к SELECT OPTION.

Так что вместо этого:

select {font-family:'Avenir LT W01 85 Heavy';}

я сделал это:

select option {font-family:'Avenir LT W01 85 Heavy';}

И меню перестало закрываться хаотично.Надеюсь, это кому-нибудь поможет.

8 голосов
/ 05 февраля 2013

Я обнаружил, что проблема заключалась в добавлении кавычек в имени семейства шрифтов.Итак, вместо того, чтобы писать

select{font-family:"Open sans";}

, я объявил

select{font-family: open sans;}
7 голосов
/ 16 мая 2011

У меня была такая же проблема.В моем случае это было совершенно не связано с Javascript, вопреки тому, что подразумевает ваша ссылка.Оказалось, что это простой CSS.

В конце концов я обнаружил, что применение атрибута color к CSS моих select входов с чем-либо, кроме черного, сделает их непригодными для использования.Не имело значения, было ли значение в шестнадцатеричном или rgb, если оно было черным.

Я поместил условный комментарий для цели IE 7 или 8 (даже если 7 был в порядке, он мне нужен для IE8 в режиме совместимости) и настройте это объявление стиля:

.myclass select {
   color: #000;
}
3 голосов
/ 12 марта 2014

У меня та же проблема, и решение следующее:

select         { font-family:inherit; font-size:inherit; }

и родительский элемент select имеет необходимую опцию шрифта.

Спасибо за этот ответ этот вопрос

2 голосов
/ 25 мая 2012

Похоже, что это может быть несколько разных CSS-объявлений, которые могут вызвать это.

У меня была та же проблема, но не было объявления цвета.Оказывается, это было правило семейства шрифтов.Я использовал условный комментарий для IE8 и старше и установил семейство шрифтов «наследовать».Padding работает отлично, как и размер шрифта.

1 голос
/ 06 декабря 2012

Я провел целый день, исследуя эту проблему, но в IE9. Я делюсь своим решением, так как оно было не из-за color или font-family из select.

Оказывается, IE сходит с ума, когда находит option внутри select, который имеет указанное значение CSS для opacity. Эта проблема возникает, даже если непрозрачность переопределяется другим правилом CSS с opacity: none или opacity: 1, свойство даже не должно отображаться.

Это жуткая ошибка браузера.

0 голосов
/ 25 мая 2017

Это спасло меня:

$('select').css('background-color','red')

PS.Необходимо сбросить цвет фона, даже если он уже установлен в файле CSS.

0 голосов
/ 05 февраля 2014

У меня тоже была эта проблема в IE9. Это произошло из-за операторов @ font-face, в которых свойство font-family равно реальному имени font-family. В IE11 работает нормально.

...