Событие JQuery Mouseleave для IE7

Я реализую простое выпадающее меню с кодом ниже:

<div id="submenu">
  <img id="1" src="..." />
  <img id="2" src="..." />
  <img id="3" src="..." />
</div>

код jquery:

$('#submenu').mouseleave(function(){
$('#submenu').slideup()
});

Он отлично работает в Firefox, но не в IE. В IE, когда мышь покидает дочерний элемент (изображение), это вызовет закрытие мыши и подменю. Я ссылаюсь на документ JQuery и предполагаю, что mouseleave не будет иметь этой проблемы. Может ли кто-нибудь поделиться своим мнением об этом случае? Спасибо.


person user636190    schedule 30.03.2011    source источник


Ответы (1)


Это может быть связано с тем, как событие прикрепляется к dom — события dom, инициированные содержащимся элементом, могут всплывать во внешний элемент. Обходной путь может заключаться в проверке правильности элемента.

$('#submenu').mouseleave(function(event){
    if($('#submenu')[0] == event.target){
        $('#submenu').slideup()
    }
});
person tofarr    schedule 30.03.2011
comment
Я исправил проблему, добавив «ul» и «li» для этих изображений. Но я не знаю, почему это так. - person user636190; 30.03.2011