0

以下のコードで簡単なドロップダウン メニューを実装しています。

<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 では、マウスが子要素 (画像) を離れると、mouseleave がトリガーされ、サブメニューが閉じられます。私は JQuery doc を参照し、mouseleave にはこの問題はないと推測します。どなたか、この件についてご意見をお聞かせいただけますか? ありがとう。

4

1 に答える 1

0

イベントが dom にどのようにアタッチされているかに関係している可能性があります。含まれている要素によってトリガーされた dom イベントは、外側の要素に泡立っている可能性があります。回避策は、要素が正しいことをテストすることです

$('#submenu').mouseleave(function(event){
    if($('#submenu')[0] == event.target){
        $('#submenu').slideup()
    }
});
于 2011-03-30T09:44:51.157 に答える