冒泡&阻止冒泡;阻止标签默认行为(以a标签为例)
2021-04-08 11:05:37
## 冒泡与阻止冒泡
### 非IE浏览器用 event.stopPropagation() 来阻止冒泡
```javascript
<div id="div1" style="background-color: slateblue ;width: 100px;height: 100px;">父
<div id="div2" style="background-color: red;;width: 50px;height: 50px;">子</div>
</div>
<script>
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
div2.onclick = function (event) {
alert(1);
event.stopPropagation() //阻止这个事件的冒泡
};
div1.onclick = function () {
alert(2);
}; // 这个时候点击div2这个子元素,父元素div1也会弹窗,子元素传递给了父元素这就是冒泡
```
## 阻止标签默认行为(以a标签为例)
### 非IE浏览器使用evant.preventDefault
```js
<a href="http://www.baidu.com/" id="testA"
style="width: 100px; height: 200px; background-color: rgb(211, 188, 188);font-size: light;font-style: normal;">百度一下</a>
<script>
var a = document.getElementById("testA");
a.onclick = function (e) {
if (e.preventDefault) {
e.preventDefault();
console.log("已阻止跳转")
} else {
window.event.returnValue == false; //IE浏览器阻止默认行为的方法
}
}
</script>
```