阻止冒泡事件
2021-04-20 09:38:55
##### html事件冒泡:
点击子级元素接收到的事件后,会把子级接收到的事件传递给父级,从下到上依次触发,层层向上传递,直至window。
###### 在chorme和火狐浏览器中我们需要在点击事件中使用e.stopPropagation()来阻止冒泡
###### 在IE浏览器中需要使用e.cancelBubble=true来阻止冒泡
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>阻止冒泡</title>
<style>
.father{
width: 600px;
height: 600px;
background-color: chartreuse;
}
.son{
width: 300px;
height: 300px;
background-color: chocolate;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="father">
<div class="son">
</div>
</div>
<script src="../jquery-3.6.0.min.js"></script>
<script>
$(".father").click(function(){
alert("父元素")
})
$(".son").click(function(e){
if(e.stopPropagation){ // 判断是否为IE浏览器
alert("子元素")
e.stopPropagation() //点击事件只在这一层,不会往外冒
}else{
e.cancelBubble=true //IE浏览器阻止冒泡方式
}
})
</script>
</body>
</html>
```