jquery 事件冒泡的介绍以及如何阻止事件冒泡


Posted in Javascript onDecember 25, 2012

什么是JS事件冒泡?
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。

如何来阻止Jquery事件冒泡?
通过一个小例子来解释

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default5.aspx.cs"Inherits="Default5"%> 
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<htmlxmlns="http://www.w3.org/1999/xhtml"> 
<headrunat="server"> 
<title>Porschev---Jquery事件冒泡</title> 
<scriptsrc="jquery-1.3.2-vsdoc.js"type="text/javascript"></script> 
</head> 
<body> 
<formid="form1"runat="server"> 
<divid="divOne"onclick="alert('我是最外层');"> 
<divid="divTwo"onclick="alert('我是中间层!')"> 
<aid="hr_three"href="http://www.baidu.com"mce_href="http://www.baidu.com"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();

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

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

2.returnfalse;
如果头部加入的是以下代码

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

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

由此可以看出
1.event.stopPropagation();
事件处理过程中,阻止了事件冒泡,但不会阻击默认行为(它就执行了超链接的跳转)
2.returnfalse;
事件处理过程中,阻止了事件冒泡,也阻止了默认行为(比如刚才它就没有执行超链接的跳转)
还有一种有冒泡有关的:
3.event.preventDefault();
如果把它放在头部A标签的click事件中,点击“点击我”。
会发现它依次弹出:我是最里层---->我是中间层---->我是最外层,但最后却没有跳转到百度
它的作用是:事件处理过程中,不阻击事件冒泡,但阻击默认行为(它只执行所有弹框,却没有执行超链接跳转)

Javascript 相关文章推荐
Ruffy javascript 学习笔记
Nov 30 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
JavaScript中使用document.write向页面输出内容实例
Oct 16 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
JS设置cookie、读取cookie
Feb 24 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
vue-router 权限控制的示例代码
Sep 21 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
Jan 05 Javascript
Vue动态修改网页标题的方法及遇到问题
Jun 09 Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 Javascript
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
js优化针对IE6.0起作用(详细整理)
Dec 25 #Javascript
js 取时间差去掉周六周日实现代码
Dec 25 #Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 #Javascript
Knockoutjs快速入门(经典)
Dec 24 #Javascript
Underscore.js 的模板功能介绍与应用
Dec 24 #Javascript
javascript 星级评分效果(手写)
Dec 24 #Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 #Javascript
You might like
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
Python装饰器基础详解
2016/03/09 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
python 调试冷知识(小结)
2019/11/11 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
Python 随机按键模拟2小时
2020/12/30 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
CSS3 实现的加载动画
2020/12/07 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
Java文件和目录(IO)操作
2014/08/26 面试题
怎么样写好简历中的自我评价
2013/10/25 职场文书
自主招生自荐信
2013/12/08 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
暑期培训随笔感言
2014/03/10 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
小学优秀班主任材料
2014/12/17 职场文书