首页 > 代码库 > 阻止默认事件和阻止冒泡的应用场景
阻止默认事件和阻止冒泡的应用场景
阻止默认事件,比如这个:
<a href=http://www.mamicode.com/"https://www.baidu.com">
<div>
<span>取消</span>
</div>
</a>
比如这样的一个需求 点击取消按钮的时候会触发一些js动作,但是不能让这个div产生跳转行为,所以需要在点击取消的时候 阻止冒泡,防止其跳转。
阻止冒泡,比如最简单的弹出层,当点击确认提交按钮的时候实际上点击事件是会往上冒泡,而一般我们取消遮罩的时候,都是通过点击弹出层周边的空白区域的。那么问题来了。
<div id="dialog">
<span id="submit">确定</span>
</div>
$("#submit").on("click",function(e){
e.stopPropagation(); //阻止冒泡,防止冒泡到document层
...
});
$(document).on("click",function(e){
if($(e.target).closest("#dialog").length == 0){
$("#dialog").hide();
}
})
1.阻止事件冒泡,但不阻止默认行为。如 stopPropagation
或 cancelBubble
等。
2.阻止默认行为,但不阻止事件冒泡。如 preventDefault
方法。
3.同时阻止事件冒泡和默认行为。直接 return false
即可。
阻止默认事件和阻止冒泡的应用场景
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。