event.stopPropagation()与event.preventDefault()
Posted xixi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了event.stopPropagation()与event.preventDefault()相关的知识,希望对你有一定的参考价值。
<div id=‘div0‘>
<div id=‘div1‘>
<a href="#" id=‘div2‘>2222</a>
</div>
</div>
window.onload=function(){ var div0=document.getElementById(‘div0‘); var div1=document.getElementById(‘div1‘); var div2=document.getElementById(‘div2‘); div0.onclick=function(e){ alert(‘00‘); } div1.onclick=function(e){ alert(‘11‘); } div2.onclick=function(e){ alert(‘22‘); } } // 点击22222后,以次弹出22,11,00(事件冒泡)
(1)event.preventDefault()表示阻止默认事件发生:如a标签的跳转事件
我们给a标签添加该事件,则a不再跳转。
div0.onclick=function(e){ alert(‘11‘); e.preventDefault(); }
(2)event.stopPropagation() 表示阻止冒泡事件发生:冒泡指的是向上层冒泡,不影响他的子元素
例如:我们给div1 添加阻止冒泡事件,div2依然会触发,但是div0不会。
div1.onclick=function(e){ alert(‘11‘); e.stopPropagation(); }
// 依次弹出 22, 11
以上是关于event.stopPropagation()与event.preventDefault()的主要内容,如果未能解决你的问题,请参考以下文章
Material Design Slide Toggle 没有 event.StopPropagation,我应该用啥?
如何覆盖 event.stopPropagation(),preventDefault().stopImmediatePropagation()