在点击div中的p时怎样阻止事件冒泡

小编给大家分享一下在点击div中的p时怎样阻止事件冒泡,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联专注于企业营销型网站、网站重做改版、光明网站定制设计、自适应品牌网站建设、H5页面制作购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为光明等各大城市提供网站开发制作服务。

我还是以一个案例来说明问题,html代码如下:

 
   

 

css代码如下:

div{
  width:500px;
  height:500px;
  background:red;
 }
 p{
  width:200px;
  height:200px;
  background:blue;
 }

js代码如下:

 function show(info){
    alert(info);
 }

稍微懂点js的人都知道当我点击p时,基于事件冒泡机制,会触发父元素div的onclick事件,结果是先弹出b、再弹出a。

那么问题来了,如何修改show()这个函数而只弹出b?我第一次的解决方法是(各位大神勿喷):

function show(e,info){
 function cancelBubble(e){
  e = e || window.event;
  if (e.stopPropagation) {  
     e.stopPropagation(); 
  }else {   
     e.cancelBubble = true; 
  } 
 }
 alert(info);
}

结果老是报错。我就开始各种百度,最终解决方法如下:

function show(info){
   alert(info);
   cancelBubble();
}
function cancelBubble(e) { 
   var evt = e ? e : window.event; 
    if (evt.stopPropagation) {  //W3C 
     evt.stopPropagation(); 
    }else {  //IE  
     evt.cancelBubble = true; 
    } 
}

看完了这篇文章,相信你对“在点击div中的p时怎样阻止事件冒泡”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网站栏目:在点击div中的p时怎样阻止事件冒泡
地址分享:http://pwwzsj.com/article/pspego.html

其他资讯