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 25 Javascript
JS实现仿京东淘宝竖排二级导航
Dec 08 Javascript
javascript中undefined与null的区别
Aug 16 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
全面理解闭包机制
Jul 11 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
Oct 25 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
Element Cascader 级联选择器的使用示例
Jul 27 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
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
NOT NULL 和NULL
2007/01/15 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
js变换显示图片的实例
2013/04/16 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python学生信息管理系统修改版
2018/03/13 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
最新的互联网创业计划书
2014/01/10 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
小学领导班子对照材料
2014/08/23 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
2015年征兵工作总结
2015/07/23 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android