0

我有一个无序列表,我将其表示为一棵树,并在单击它们时切换节点

$('#tv').find('.child1, .child2').click(function () {
       $(this).closest('li').find('ul').slideToggle(1000);
       return false;
});

如何从切换中过滤链接?即,如果任何一个李有任何链接,点击该链接不应触发切换

4

1 回答 1

1

停止从anchor元素内的事件传播li

$('#tv').find('li a').click(function (e) {
    e.stopPropagation()
});

另一种解决方案是在点击处理程序中过滤它

$('#tv').find('.child1, .child2').click(function (e) {
    if($(e.target).closest('a').length == 0){
       $(this).closest('li').find('ul').slideToggle(1000);
       return false;
    }
});
于 2013-10-05T01:02:40.337 回答