0

ツリーとして表している順序付けられていないリストがあり、ノードがクリックされたときにノードを切り替えます

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

リンクのトグルをフィルタリングするにはどうすればよいですか? つまり、いずれかの Li にリンクが含まれている場合、そのリンクをクリックしてもトグルはトリガーされません。

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 に答える