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 相关文章推荐
javascript常用方法汇总
Dec 02 Javascript
Linux下编译安装php libevent扩展实例
Feb 14 Javascript
jQuery动画效果相关方法实例分析
Dec 31 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
动态加载js、css的实例代码
May 26 Javascript
从0开始学Vue
Oct 27 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
Vue实现导出excel表格功能
Mar 30 Javascript
使用NestJS开发Node.js应用的方法
Dec 03 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
JS实现简易留言板特效
Dec 23 Javascript
openlayers实现图标拖动获取坐标
Sep 25 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
关于COOKIE个数与大小的问题
2011/01/17 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
Node接收电子邮件的实例代码
2017/07/21 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
React优化子组件render的使用
2019/05/12 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
绩效专员岗位职责
2013/12/02 职场文书
小学生演讲稿
2014/01/12 职场文书
村委会贫困证明
2014/01/14 职场文书
毕业横幅标语
2014/10/08 职场文书
团代会邀请函
2015/02/02 职场文书
2015年项目工作总结
2015/04/29 职场文书
烈士陵园观后感
2015/06/08 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
Python制作一个随机抽奖小工具的实现
2021/07/07 Python