jQuery阻止事件冒泡实例分析


Posted in jQuery onJuly 03, 2018

本文实例讲述了jQuery阻止事件冒泡。分享给大家供大家参考,具体如下:

我们在平时的开发过程中,肯定会遇到在一个div(这个div可以是元素)包裹一个div的情况,但是呢,在这两个div上都添加了事件,如果点击里面的div我们希望处理这个div的事件,但是呢,我们不希望外层的div的事件也执行,这时候我们就要用到阻止冒泡。

通俗点来说吧,你在家里看电视,躲在自己的小房间,但是你不希望声音传到隔壁父母的耳朵里,这时候,你可能躲在被窝里,或者墙壁的隔音效果很好,阻隔声音可以理解为阻止冒泡。

阻止事件冒泡的三种手段

1、return false:可以阻止默认事件和冒泡事件

2、event.stopPropagation/IE下event.cancelBubble  = true;:可以阻止冒泡事件但是允许默认事件

3、event.preventDefault();/IE下event.returnValue = false:可以阻止默认事件但是允许冒泡事件

上面的三种方法运用在不同的场景,可以合理运用,下面是代码,可以自己做一些测试:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>jQuery阻止冒泡</title>
  <style>
    .div1{
      width: 140px;
      border: 1px solid blue;
    }
    .div2{
      width: 100px;
      height: 100px;
      margin: 20px;
      border: 1px solid red;
    }
  </style>
</head>
<body>
<div class="div1">
  <div class="div2">
    点我呀!!!!
  </div>
</div>
<a href="http:www.baidu.com" rel="external nofollow" id="a1">百度</a>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  $('.div1').bind('click',function(){
    alert("div1");
  });
  $('.div2').bind('click',function(){
    alert("div2");
//    return false;//也可以通过return false 阻止冒泡
    if(window.event){//IE下阻止冒泡
      event.cancelBubble = true;
    }else{
      event.stopPropagation();
    }
  });
  $('#a1').bind('click',function(){
    if(window.event){//IE下阻止默认事件
      event.returnValue = false;
    }else{
      event.preventDefault();
    }
    alert("我是链接");
    //return false;//如果不添加任何阻止事件,先弹框,后跳转,我们可以通过return false阻止跳转
  });
</script>
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具 http://tools.3water.com/code/HtmlJsRun测试运行效果如下:

jQuery阻止事件冒泡实例分析

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery查找dom的几种方法效率详解
May 17 jQuery
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
Jquery中attr与prop的区别详解
May 27 jQuery
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
JQuery 选择器、DOM节点操作练习实例
Sep 28 jQuery
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
jquery获取input输入框中的值
Nov 13 jQuery
jquery实现简单拖拽效果
Jul 20 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 #jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 #jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 #jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 #jQuery
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 #jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 #jQuery
基于jQuery实现的设置文本区域的光标位置
Jun 15 #jQuery
You might like
PHP 采集获取指定网址的内容
2010/01/05 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
jquery cookie插件代码类
2009/05/26 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
TensorFlow实现模型评估
2018/09/07 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
set在python里的含义和用法
2019/06/24 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python sorted排序方法如何实现
2020/03/31 Python
Django返回HTML文件的实现方法
2020/09/17 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
幼师求职自荐信范文
2014/01/26 职场文书
求职自荐信怎么写
2014/03/06 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
物资采购方案
2014/06/12 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
离婚被告代理词
2015/05/23 职场文书
教师病假条范文
2015/08/17 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
vue完美实现el-table列宽自适应
2021/05/08 Vue.js