0

我使用. .menu li_ 它有效,但它也将相同的事件分配给. 我尝试使用,和inside 函数,但这根本不起作用。如何防止这种情况?ul$(".menu li:has(ul)").menu li ul lie.stopPropagation();e.PreventDefault();return false;

这是显示实际问题的小提琴。

我使用的 jQuery:

$(".menu li:has(ul)").click(function() {
    console.log('has ul');
    if($(this).children("ul").is(':visible')){
        $(this).children("ul").slideUp();
    }else{
        $(this).children("ul").slideDown();
    }
});
4

2 回答 2

1

Try this instead:

$('.menu a').click(function() {
    var next=$(this).next();
    if(next.prop('tagName')=='UL') {
        if(next.is(':visible')){
            next.slideUp();
        }else{
           next.slideDown();
        }
    }
});
于 2013-05-19T10:02:32.007 回答
0

现在可以使用Fiddle您需要在子 UL 上添加 return false

于 2013-05-19T10:06:28.737 回答