【问题标题】:jQuery ToggleClass Is Toggling When I Click On Inside Links当我单击内部链接时,jQuery ToggleClass 正在切换
【发布时间】:2013-01-29 20:06:26
【问题描述】:

我的列表项中有链接,点击时会切换,但是当我点击链接时,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/

如果您单击列表项内的任何链接,它会切换并消失。我希望它保持可见,除非您单击背景或不是链接。

我希望列表项切换,除非用户单击内部某处的链接,然后我不希望它切换类。如何将切换类限制为仅在用户未单击内部另一个链接时才起作用?

【问题讨论】:

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


    【解决方案1】:

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

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

    JS Fiddle

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 2012-04-08
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多