2016-06-09 2 views
1

Я сделал простой веб-сайт, который воспроизводит ошибку в IE11.Как предотвратить зависание при отключении при переходе в IE?

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

Кто-нибудь знает, как это исправить?

Благодаря

html, 
 
body { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.tab { 
 
    background-color: red; 
 
    display: inline-block; 
 
} 
 
.hovermenu { 
 
    display: none; 
 
    width: 100%; 
 
    height: 50vh; 
 
    background-color: cyan; 
 
    position: -ms-page; 
 
    position: fixed; 
 
} 
 
.container { 
 
    display: inline-block; 
 
} 
 
.container:hover .hovermenu { 
 
    display: block; 
 
}
<div class="container"> 
 
    <div class="tab">TAB</div> 
 
    <div class="hovermenu"> 
 
    <select> 
 
     <option value="1">A</option> 
 
     <option value="2">B</option> 
 
     <option value="3">C</option> 
 
     <option value="4">D</option> 
 
     <option value="5">E</option> 
 
    </select> 
 
    </div> 
 
</div>

+0

Кажется, что Chrome - это тот, который прослушивается. Я не думаю, что мышь над раскрывающимся списком должна считаться зависающей над тем, что стоит за списком. – apokryfos

+0

@apokryfos, хотя это правда, я бы сказал, что это отклонение от спецификации, чтобы улучшить функциональность команды Chrome. –

+0

Не понимаю, я бы подумал, что поведение хром более предпочтительное, так как оно выглядит лучше. Но в любом случае я до сих пор не могу понять, как сохранить фон в IE. – omega

ответ

0

Я узнал, как исправить это быстрый и грязный путь для IE.

 $("select").bind('focus', {}, function (event) { 
      $(this).closest(".hovermenu").css('display', 'block'); 
     }).bind('blur', {}, function (event) { 
      $(this).closest(".hovermenu").css('display', ''); 
     }); 
Смежные вопросы