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

JS中cancelBubble=true没有效果

JS中cancelBubble=true没有效果

猛跑小猪 2019-04-21 20:15:16
Clickvarbtn=document.getElementById('btn');vardiv=document.getElementById('div');functionclickHandeler(e){alert('hello');}functionsubClickHandeler(e){e=e||window.event;if(e.stopPropagation)e.stopPropagation();elsee.cancelBubble=true;}btn.addEventListener('click',clickHandeler,false);div.addEventListener('click',subClickHandeler,false);IE中点击div的时候还是会弹出hello,为什么?该怎么解决?
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

原因是html标签嵌套问题:button元素标签里面不能嵌套div元素标签,因为div元素的父元素必须是那些子元素为段落式元素的元素。参考WEB标准系列-HTML元素嵌套题主的代码我测试的结果在FF和IE中都没有效果,在Chrome,Safari,Opera中可以,说明浏览器的容错能力不一样。
把button标签改为div标签就可以了……
为了弄清楚这个答案,我凌晨两点睡的,今天又弄了一上午,也是醉了……
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 683 浏览
慕课专栏
更多

添加回答

举报

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