JS阻止冒泡和元素默认事件
1.JS阻止冒泡 :stopPropagation()
<body>
<div class="wrap">
<div class="inner"></div>
</div>
<script>
let oWrap = document.querySelector(".wrap")
let oInner = document.querySelector(".inner")
oInner.addEventListener("click",function(e){
e.stopPropagation()
console.log("我是内部inner");
},false)
oWrap.addEventListener("click",function(){
console.log("我是外部wrap");
},false)
</script>
</body>
2.阻止元素默认事件行为
preventDefault()
默认元素事件:例如a元素,点击后会自动跳转页面
<body>
<a href="http://www.baidu.com">这是一首简单的小情歌</a>
<script>
let oA = document.querySelector("a")
oA.addEventListener("click",function(e){
e.preventDefault()
console.log("我是a");
},false)
</script>
</body>
备注:点击后,不会自动跳转了!
onclick + return false
oncilck可以阻止默认事件,而addEventListener不可以!!
<body>
<a href="http://www.baidu.com">这是一首简单的小情歌</a>
<script>
let oA = document.querySelector("a")
oA.onclick = function(e){
return false;
}
// oA.addEventListener("click",function(e){
// return false;
// })
</script>
</body>
接管行为
<a href="javascript:;">这是一首简单的小情歌</a>