当我点击Inside Links时,jQuery ToggleClass正在切换

时间:2013-01-29 20:06:26

标签: javascript jquery javascript-events event-handling toggleclass

我在列表项中有链接,可以在点击时切换,但是当我点击链接时,toggleclass会激活并消失。

<script type="text/javascript">
$(document).ready(function() {
    $(".content-list > li").live("click", function () {
        $(this).find('.links').toggleClass("hide");
    });
});
</script>

http://jsfiddle.net/davemj88/DtrDw/1/

如果单击列表项中的任何链接,它将切换并消失。我希望它保持可见,除非你点击背景或没有链接。

我希望列表项能够切换用户点击内部某处的链接,然后我不希望它切换该类。如何限制toggleclass仅在用户未点击其他链接时才能正常工作?

1 个答案:

答案 0 :(得分:0)

如果为li中的链接添加click事件处理程序,则可以使用e.stopPropagation()来阻止该事件冒泡到包含li中。

$(".content-list > li a").live("click", function(e) {
    e.stopPropagation();
});

JS Fiddle

您会注意到删除链接不受影响,因为用于事件绑定的选择器是直接后代li和其中的锚标记,因此您需要适当调整选择器,但这应该得到这个想法贯穿始终。