【问题标题】:Add class to child element but not to parent将类添加到子元素但不添加到父元素
【发布时间】:2014-11-08 07:49:02
【问题描述】:

我想一次向一个元素添加一个类。该元素可以是也应用了点击事件的父元素的子元素。将类仅添加到子元素而不是父元素的最佳方法是什么?这是一个示例,单击子 div 并看到该类也添加到所有父元素中。我可以想出几种方法来做到这一点,但我想确保我使用的是最好的解决方案。基本上我希望该类只添加到单击的元素中,而不管其父级是否具有相同的类。

http://codepen.io/anon/pen/aiGJb

<div id="parent" class="element">
  <div id="child" class="element">
   <div id="childdd" class="element"></div>
  </div>
</div>

【问题讨论】:

  • 尝试使用“return false;”停止“冒泡”在 addClass() 之后单击处理程序的末尾。
  • 它工作,不知道这是如何工作的。怎么返回false;阻止父元素上的其他事件处理程序被触发但不是被点击的事件处理程序?

标签: jquery select


【解决方案1】:

我认为您的问题在于“冒泡”。
以下是对这种“泡沫”魔法如何发挥作用的精彩解释。
“冒泡和捕获”文章:http://javascript.info/tutorial/bubbling-and-capturing

您的解决方案是在点击处理程序结束时使用 return false; 停止“冒泡”:

$(".element").on("click", function() {
    $(this).addClass("active"); 
    return false;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多