je montre ul, (il montre mon sous-menu) comme un code flottant, j'ai du mal à me cacher ulpendant que je déplace la souris sur ul (dans le menu), il se cache et c’est pourquoi je n’utilise pas l’événement mouseout correctement
comment pourrais-je cacher ul, juste au moment de la souris de "ul li"
$("ul li").mouseover(function() {
$(this).find("ul").show();
}).mouseout(function(){
$(this).find("ul").hide();
});
Réponses:
0 pour la réponse № 1Vous pouvez utiliser le .hover()
méthode qui se lie à la mousenter
et mouseleave
événements, comme ceci:
$("ul li").hover(function() {
$(this).find("ul").show();
}, function(){
$(this).find("ul").hide();
});
Ou, si les enfants sont initialement cachés, vous pouvez le raccourcir davantage avec .toggle()
, comme ça:
$("ul li").hover(function() {
$(this).find("ul").toggle();
});
La principale différence est que mouseleave
didn "t feu quand entrer dans un enfant tandis que mouseout
Est-ce que. Aussi mouseenter
ne tire pas pour les éléments descendants non plus, ce qui est ce que vous voulez dans le cas de votre menu.
0 pour la réponse № 2
Essayez d'utiliser la méthode bind à la place:
$("ul li").bind("mouseenter",function() {
});
$("ul li").bind("mouseleave",function() {
});