扫码关注官方订阅号
事件冒泡和事件捕获有怎么样应用场景,又如何阻止呢?我知道这个的原理,但是有怎样的运用场景呢?
走同样的路,发现不同的人生
阻止默认事件:return false和preventDefault()
阻止冒泡:stopPropagation();
比如在一个HTML结构中,父级包含着子级,当事件在子级发生时(click,mouseenter,mouseleave等),由于事件冒泡就会触发父级的同名事件。示例:
<ul id="parent"> <li id="child">son-1</li> </ul> child.addEventListener("click",function(ev){ alert(1); //ev.stopPropagation();标准浏览器 //或者是 //ev.cancelBubble = true; //IE }) parent.addEventListener("click",function(ev){ alert(1); })
当点击li时,会弹出两个1,可以通过阻止冒泡防止这样的行为,点击li就弹出一个1。ev.stopPropagation()或ev.cancelBubble = true 可以阻止事件冒泡。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
阻止默认事件:return false和preventDefault()
阻止冒泡:stopPropagation();
比如在一个HTML结构中,父级包含着子级,当事件在子级发生时(click,mouseenter,mouseleave等),由于事件冒泡就会触发父级的同名事件。示例:
当点击li时,会弹出两个1,可以通过阻止冒泡防止这样的行为,点击li就弹出一个1。
ev.stopPropagation()或ev.cancelBubble = true 可以阻止事件冒泡。