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制作input提示内容(兼容IE8以上)
Jul 05 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
jQuery 选择器用法实例分析【prev + next】
May 22 jQuery
Jquery 获取相同NAME 或者id删除行操作
Aug 24 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判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
js读取本地文件的实例
2017/12/22 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
Angular路由ui-router配置详解
2018/08/01 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
解读python如何实现决策树算法
2018/10/11 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
售后服务科岗位职责范文
2013/11/13 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
邀请函样本
2015/02/02 职场文书
世界环境日活动总结
2015/02/11 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书