JS阻止事件冒泡的方法详解


Posted in Javascript onAugust 26, 2019
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs"Inherits="Default5"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Porschev---Jquery 事件冒泡</title>

<script src="jquery-1.3.2-vsdoc.js" type="text/javascript"></script>

</head>
<body>
<form id="form1" runat="server">


<div id="divOne" onclick="alert('我是最外层');">



<div id="divTwo" onclick="alert('我是中间层!')">




<a id="hr_three" href="http://www.baidu.com" rel="external nofollow" rel="external nofollow" mce_href="http://www.baidu.com" rel="external nofollow" rel="external nofollow" onclick="alert('我是最里层!')">点击我</a>



</div>


</div>

</form>
</body>
</html>

比如上面这个页面,

分为三层:divOne是第外层,divTwo中间层,hr_three是最里层;

他们都有各自的click事件,最里层a标签还有href属性。

运行页面,点击“点击我”,会依次弹出:我是最里层---->我是中间层---->我是最外层

---->然后再链接到百度.

这就是事件冒泡,本来我只点击ID为hr_three的标签,但是确执行了三个alert操作。

事件冒泡过程(以标签ID表示):hr_three----> divTwo----> divOne 。从最里层冒泡到最外层。

如何来阻止?

1.event.stopPropagation();

<script type="text/javascript">
    $(function() {
      $("#hr_three").click(function(event) {
        event.stopPropagation();
      });
    });
<script>

再点击“点击我”,会弹出:我是最里层,然后链接到百度

2.return false;

如果头部加入的是以下代码

<script type="text/javascript">
$(function() {
$("#hr_three").click(function(event) {


return false;

});
});
<script>

再点击“点击我”,会弹出:我是最里层,但不会执行链接到百度页面

由此可以看出:

1.event.stopPropagation();

事件处理过程中,阻止了事件冒泡,但不会阻击默认行为(它就执行了超链接的跳转)

2.return false;

事件处理过程中,阻止了事件冒泡,也阻止了默认行为(比如刚才它就没有执行超链接的跳转)

还有一种有冒泡有关的:

3.event.preventDefault();

如果把它放在头部A标签的click事件中,点击“点击我”。

会发现它依次弹出:我是最里层---->我是中间层---->我是最外层,但最后却没有跳转到百度

它的作用是:事件处理过程中,不阻击事件冒泡,但阻击默认行为(它只执行所有弹框,却没有执行超链接跳转)

以上就是本次介绍的全部知识点内容,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery 表单取值常用代码
Dec 22 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
Sep 02 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
jQuery实现一个简单的验证码功能
Jun 26 jQuery
浅谈JS函数节流防抖
Oct 18 Javascript
Vue SPA单页应用首屏优化实践
Jun 28 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
Jul 19 Javascript
mpvue实现微信小程序快递单号查询代码
Apr 03 Javascript
使用Typescript和ES模块发布Node模块的方法
May 25 Javascript
详谈vue中router-link和传统a链接的区别
Jul 22 Javascript
express框架中使用jwt实现验证的方法
Aug 25 #Javascript
JS异步处理的进化史深入讲解
Aug 25 #Javascript
Vue源码分析之Vue实例初始化详解
Aug 25 #Javascript
javascript导出csv文件(excel)的方法示例
Aug 25 #Javascript
JavaScript在web自动化测试中的作用示例详解
Aug 25 #Javascript
angularjs自定义过滤器demo示例
Aug 24 #Javascript
Jquery实现获取子元素的方法分析
Aug 24 #jQuery
You might like
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
python使用turtle绘制分形树
2018/06/22 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
python 19个值得学习的编程技巧
2020/08/15 Python
英国航空官网:British Airways
2016/09/11 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
后勤岗位职责
2013/11/26 职场文书
人事任命书怎么写
2014/06/05 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技
python高温预警数据获取实例
2022/07/23 Python