单击子元素时防止父类

时间:2014-09-01 15:49:37

标签: javascript jquery html

正如您将从我创建的bootply中看到的那样,当您单击面板中的任意位置时,输入将变为活动状态。当我点击信息按钮(橙色图标)时,它应该打开一个没有父(输入)变为活动的手风琴。问题是父母仍然活跃。

我可以通过添加:

来解决这个问题
$('.tickets-more').click(function(){
   event.stopPropagation();
});

但这会阻止信息按钮(橙色图标)完全工作(手风琴不会打开)。

以下是没有上述代码段的bootply - http://www.bootply.com/ZKoCxNfMqc 这里是代码片段 - http://www.bootply.com/WW3Ze2DEpg

1 个答案:

答案 0 :(得分:1)

当目标元素没有类info-sign时,只需添加/删除该类。

Updated Example

$(".ticket-selector").off('click');
$(".ticket-selector").on('click', function(e){
  if(!$(e.target).hasClass('info-sign')) {
    $(".ticket-selector").removeClass("active");
    $(this).addClass("active");
  }
});

..正如其他人已经说过的那样,你也应该避免将所有内容放在label元素中。