selected.js оставляет раскрывающиеся списки открытыми при загрузке страницы в IE7 - PullRequest
1 голос
/ 05 октября 2011

Я использую выбранный плагин jQuery (http://harvesthq.github.com/chosen/) на одной из моих форм, и все хорошо.Однако когда я попадаю на страницу с IE7, иногда оставляет раскрывающиеся списки открытыми, как будто они получили фокус клавиатуры.Я хочу убедиться, что они никогда не открываются, пока пользователь не щелкнет, поэтому попробовал различные исправления, такие как эти, чтобы убрать фокус с выбора при загрузке страницы:

$('#mySelect').trigger('blur');
$('#someOtherInput').focus();
$('body').trigger('click');

и их варианты, но, похоже, ничего не помогает,Я не знаю, может ли .chosen() принять обратный вызов, если это так, тогда я помещу туда код, но пока другая возможность состоит в том, что эти строки выполняются до того, как выбранный завершит выполнение того, что он делает.

Итакоставляя тайм-аут (что я действительно не хочу делать, но буду, если это единственное решение) кто-нибудь знает, как я могу остановить это счастье?

Ответы [ 3 ]

3 голосов
/ 05 октября 2011

Я не уверен, почему это не сработало, но я нашел обходной путь к любой проблеме.

Эта строка:

$('#mySelect').chosen();

На вершине моего скрипта было несколько сотен строк кода с другими используемыми плагинами, которые также выполняли входные данные.

Перемещение этой строки в конец скрипта устранило эту проблему - я предполагаю, что что-то должно было либо конфликтовать с этим, либо изменять свойство, когда оно меняло то же свойство - но я не мог угадать, какой плагин или где это происходило.

Это работает, но я не знаю, в чем проблема на самом деле: (

UPDATE: Сегодня в IE7 появилась связанная проблема, из-за которой выпадающие списки появлялись позади друг друга, если у вас есть выбранный выбор, близкий к другому.

Это исправляет:

$('.chz').chosen();                 
var zidx = 100;
$('.chzn-container').each(function(){
    $(this).css('z-index', zidx);
    zidx-=1;
});

ОБНОВЛЕНИЕ BigM

Есть еще одна вещь, которую вам нужно будет сделать, это настроить непрозрачность для IE5-7, например, когда он отключен:

.chzn-disabled {
  cursor: default;
  opacity:0.5 !important;
  filter: alpha(opacity=50) !important;
}
1 голос
/ 29 апреля 2013

Фактически Выбранный 0.9.8 работает с IE 7, если вы удалите условие IE 7:

e.browser.version!=="7.0"

и примените вышеуказанный патч:

var zidx = 100;
$('.chzn-container').each(function(){
    $(this).css('z-index', zidx);
    zidx-=1;
});
0 голосов
/ 30 мая 2012

Компонент jQuery Chosen не работает с IE7, по крайней мере, в его последней версии.Я сомневаюсь, что вы сможете продолжать использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...