2016-04-02 16 views
0

li.foodからnews-wrapに移動すると、mouseleaveが発生します。Jquery Mouseleaveとe.targetまたはe.relatedTarget

これは動作しません:

$('#news-wrap').hide(); 
$('li.food').on('mouseenter', function() { 
    $('#news-wrap').show(); 
}); 
$('li.food').on('mouseleave', function(e) { 
    if (!$(e.target).is('#news-wrap')) { 
     $('#news-wrap').hide(); 
    } 
}); 

もこれを行います:

$('#news-wrap').hide(); 
$('li.food').on('mouseenter', function() { 
    $('#news-wrap').show(); 
}); 
$('li.food').on('mouseleave', function(e) { 
    if(e.relatedTarget.id != 'news-wrap') $('#news-wrap').hide();  
}); 
+0

mouseleveをキャプチャする必要があるのはなぜですか?mouseenterをキャプチャしてすべてのdivを非表示にし、必要なdivを表示します。 – guradio

+0

マウスがli.foodまたは#news-wrap上にあるときのみ表示するようにします。 –

+0

あなたはフィドルを追加できますか? – RRK

答えて

0

私はCSSの代わりにjQueryを使用していました。

li.food:hover { 
#news-wrap { 
    display : block 
} 
} 

これを参照してください。jsfiddle exampleを比較してください。

関連する問題