页面中嵌套的两个div都存在点击事件,当点击内部div阻止外部div点击事件的发生;
需要注意的一点,在实际的页面中可能中间有多层嵌套关系,像下图,在div1和div2中间可能还会有几层嵌套关系,这就不一定非要在要点击的子元素div2上加监听事件,可以再往上取一级或多级,只要在条件的div1元素下就可以,具体因需要而定。
方式1:
//1.正常的情况下使用
$("#div2").click(function(e){
e.stopPropagation();
});
//2.动态监听
$("#div2").live('click',function(e){
e.stopPropagation();//此处终止事件冒泡
},false);
方式2:
document.getElementById('#div2').addEventListener('click',function(e){
e.stopPropagation();//阻止它的冒泡事件
},false);
方式3:
//在子级标签添加属性
onClick="event.cancelBubble = true"