[置顶] 阻止checkbox的父元素事件冒泡

今天在开发后台权限管理时使用了tinyaccordion 这个小控件,如图所示

这个结构代码大致如下:

在过程中长时间纠结于,点击标注的checkbox也会触发其父元素H3的click事件,

起初对checkbox是监听其 change 事件,不管怎么搞,H3的click事件都会被触发,折腾了3个多小时,使用了各种方法都不行,几乎是把这个小控件完全自己实现了一遍都没有搞定这个问题,

 

哀莫大于心死,索性直接监听checkbox的click事件,代码如下:

$(':checkbox.chbox').click(function(evt){
    var is = $(this).attr('checked');
    var xid = $(this).attr('xid');
        
    if ( is )
    {
        $(':checkbox[xtype="' + xid + '"]').attr('checked','checked');
    }
    else
    {
        $(':checkbox[xtype="' + xid + '"]').removeAttr('checked');
    }
    // 阻止冒泡
    evt.stopPropagation();
});

 

这样一来无非多写一些代码,也不管它是否会触发checkbox的change事件,试过 直接返回false,但是这么一来根本就不会勾选,所以直接阻止冒泡吧...

 

此处标注下... 以后不会再犯这么低级的错误

  • 大小: 14.7 KB
  • 大小: 6.2 KB
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值