2016-04-02 10 views
0

Wenn ich von li.food zu # News-Wrap verschiebe, lösche mouseleave.Jquery Mouseleave und e.target oder e.relatedTarget

funktioniert das nicht:

$('#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(); 
    } 
}); 

auch nicht dies:

$('#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

warum müssen Sie mouseleve erfassen? Nur erfassen mouseenter und verstecken Sie alle div zeigen dann die benötigten div – guradio

+0

Ich möchte # News-Wrap nur zeigen, wenn die Maus auf li.food oder # News-Wrap ist. –

+0

können Sie eine Geige hinzufügen? – RRK

Antwort

0

Ich benutzte CSS nur statt jquery.

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

Siehe jsfiddle example als Vergleich.