为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery如何阻止子元素继承父元素事件?

jQuery如何阻止子元素继承父元素事件?

芜湖不芜 2019-04-08 11:19:19
$("a").click(...);这种绑定的话,b也会响应一次事件,如何只对a元素绑定事件,而不对子元素绑定呢?即b被click之后自己并不触发回调函数,而是把事件传递给a。我现在的做法是:直接在a上写,这样b就不会把自己作为event.target触发回调了.---更新----大家可能对我的意思有误解,我不是要阻止事件冒泡,恰恰相反,我是要b在接受到click事件的时候直接把事件向上传递给a,就像我在代码里面指定的那样----再次更新---代码是这样的$('a').click(function(evt){varself=$(evt.target);self.addClass('btn-primary');});这时候,如果点击了b,那么b会被加上btn-primary这个class,但是我想点击了b,也只是给a添加这个class,希望处理事件的对象是a,不是b-----完结----感谢@冰果果,此处应该使用$(this)而不是$(evt.target),附区别http://www.cnblogs.com/12go/archive/2011/12/28/2304502.html
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

给b添加一个事件,里面禁止事件冒泡就行了(这样也能消除父级对子级的影响)-->e.cancelBubble=true;
eg:
functionf1(e){
alert("你点击了一个链接");
//取消冒泡
e.cancelBubble=true;
}
functionf2(e){
alert("你点击了一个DIV");
}
ClickMe
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 594 浏览
慕课专栏
更多

添加回答

了解更多

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信