

事件冒泡 :当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window 。
代码:
<div id="div1"><div id="div2"><div id="div3"></div></div></div><style>#div1{width: 300px;height: 200px;background-color: red;}#div2{width: 250px;height: 150px;background-color: green;}#div3{width: 200px;height: 100px;background-color: blue;}</style>my$("div1").onclick=function () {console.log(this.id);};//div3 div2 div1my$("div2").onclick=function () {console.log(this.id);};//div2 div1my$("div3").onclick=function () {console.log(this.id);};//div1
my$("div3").onclick=function (e) {console.log(this.id);e.stopPropagation();};
2、非标准的IE方式:window.event.cancelBubble=true; 这里的cancelBubble是 IE事件对象的属性,设为true就可以了(IE特有的,谷歌支持,火狐不支持)
my$("div2").onclick=function () {console.log(this.id);window.event.cancelBubble=true;};
为了兼容解决事件冒泡的方式:
function stopBubble(e) {//如果提供了事件对象,则这是一个非IE浏览器if (e && e.stopPropagation)//因此它支持W3C的stopPropagation()方法e.stopPropagation();else//否则,我们需要使用IE的方式来取消事件冒泡window.event.cancelBubble = true;}my$("div2").onclick = function (e) {console.log(this.id);stopBubble(e)};my$("div3").onclick = function (e) {console.log(this.id);stopBubble(e)};
本文完~
图文 来源网络
版权归原作者所有,侵联删



碧茂课堂精彩课程推荐:
1.Cloudera数据分析课;
2.Spark和Hadoop开发员培训;
3.大数据机器学习之推荐系统;
4.Python数据分析与机器学习实战;

详情请关注我们公众号:碧茂大数据-课程产品-碧茂课堂
现在注册互动得海量学币,大量精品课程免费送!

关注最新行业动态,
加群进行技术交流!
文章转载自碧茂大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




