То, что я хочу сделать, довольно просто, поэтому я бы не стал использовать свое приложение с пользовательским интерфейсом jQuery или каким-либо плагином.
У меня есть такая структура меню:
<ul class="menu">
<li class="main">
<a href="#">Main menu</a>
<ul>
<li>Sub item</li>
</ul>
</li>
</ul>
У меня есть его стиль, так что «sub- <ul>
» скрыт.
Этот код отлично работает как на Firefox, так и на Chrome, но неожиданным сюрпризом является то, что Internet Explorer запускает событие mouseout, когда мышь находится надподменю:
$(function() {
$('ul.menu li.main').hover(function() {
$(this).find('ul').slideDown();
}, function() {
$(this).find('ul').slideUp();
});
});
Таким образом, в IE7, когда отображается подменю, как только я пытаюсь выбрать элемент в нем, меню снова сдвигается вверх.
Обновление: Я только что смог попробовать IE8, и он тоже отлично работает.Так что это просто IE7 (и, вероятно, 6, но я могу с этим жить).
Я также пытался использовать hoverIntent , который утверждает, что игнорирует события для детей, но он также не работает.