jQuery之防止【冒泡事件】,阻止默认行为 【return false】 event.stopPropagation event.preventDefault...

知识点:

  event.stopPropagation()  阻止冒泡

  event.preventDefault()   阻止默认事件,比如button提交后跳转到链接页面

  两者都可以用 return false 代替。

 


 

 

冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。

下面是html代码部分:

复制代码
<body>
<div id="content">外层div元素<span>内层span元素</span>外层div元素
</div><div id="msg"></div> </body>
复制代码

对应的jQuery代码如下:

复制代码
<script type="text/javascript">
$(function(){// 为span元素绑定click事件 $('span').bind("click",function(){ var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>";//获取html信息 $('#msg').html(txt);// 设置html信息  }); // 为div元素绑定click事件 $('#content').bind("click",function(){ var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); }); // 为body元素绑定click事件 $("body").bind("click",function(){ var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script>
复制代码

当点击span时,会触发div与body 的点击事件。点击div时会触发body的点击事件。

如何防止这种冒泡事件发生呢?

修改如下: 内部阻止冒泡方法:event.stopPropagation();

复制代码
<script type="text/javascript">
$(function(){// 为span元素绑定click事件 $('span').bind("click",function(event){ var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>"; $('#msg').html(txt); event.stopPropagation(); // 阻止事件冒泡   }); // 为div元素绑定click事件 $('#content').bind("click",function(event){ var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); event.stopPropagation(); // 阻止事件冒泡  }); // 为body元素绑定click事件 $("body").bind("click",function(){ var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script>
复制代码

event.stopPropagation(); // 阻止事件冒泡

 

有时候点击提交按钮会有一些默认事件。比如跳转到别的界面。但是如果没有通过验证的话,就不应该跳转。这时候可以通过设置event.preventDefault(); //阻止默认行为 ( 表单提交 )。

下面是案例:

复制代码
<script type="text/javascript">
$(function(){$("#sub").bind("click",function(event){ var username = $("#username").val(); //获取元素的值,val() 方法返回或设置被选元素的值。 if(username==""){ //判断值是否为空 $("#msg").html("<p>文本框的值不能为空.</p>"); //提示信息 event.preventDefault(); //阻止默认行为 ( 表单提交 )  } }) }) </script>
复制代码

html部分:

复制代码
<body>
<form action="test.html">
用户名:<input type="text" id="username" /> <br/> <input type="submit" value="提交" id="sub"/> </form> <div id="msg"></div> </body>
复制代码

还有一种防止默认行为的方法就是return false。效果一样。

代码如下:

复制代码
<script type="text/javascript">
$(function(){$("#sub").bind("click",function(event){ var username = $("#username").val(); //获取元素的值 if(username==""){ //判断值是否为空 $("#msg").html("<p>文本框的值不能为空.</p>"); //提示信息 return false; } }) }) </script>
复制代码

同理,上面的冒泡事件也可以通过return false来处理。

复制代码
<script type="text/javascript">
$(function(){// 为span元素绑定click事件 $('span').bind("click",function(event){ var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>"; $('#msg').html(txt); return false; }); // 为div元素绑定click事件 $('#content').bind("click",function(event){ var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); return false; }); // 为body元素绑定click事件 $("body").bind("click",function(){ var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script>
复制代码

转载于:https://www.cnblogs.com/shimily/articles/3939013.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年世界科技发展回顾

来源&#xff1a;科技日报摘要&#xff1a;本文从科技政策、基础研究、信息技术、人工智能与先进制造、空间技术、能源环保等六个领域&#xff0c;回顾了2018年世界主要国家的科技发展。2019年或许会很不平常&#xff0c;只因2018年世界主要国家之间关系风云变幻&#xff0c;让…

给destoon商城的列表中和首页添加购物车功能

如何给destoon商城的列表中和首页添加购物车功能&#xff1f; 目前加入购物车的功能只存在商城的详细页面里&#xff0c;有时候我们需要批量购买的时候&#xff0c;希望在列表页就能够使用这个加入购物车的功能。 修改步骤见下&#xff1a; 例如在商城频道的首页和列表页加这个…

leetcode N-Queens

转载自&#xff1a;http://www.cnblogs.com/TenosDoIt/p/3801621.html N-Queens The n -queens puzzle is the problem of placing n queens on an n n chessboard such that no two queens attack each other. Given an integer n , return all distinct solutions to the …

CES新观察:智能应用全面开花 “陆海空”新品值得关注

来源&#xff1a;网易科技2019年国际消费性电子展&#xff08;以下简称“CES展”&#xff09;即将在美国拉斯维加斯落下帷幕&#xff0c;今年是CES走过的第52个年头&#xff0c;虽然已过了“知天命”的年纪&#xff0c;但这丝毫没有影响其在科技行业的影响力和创新力&#xff0…

BCG、阿里、百度联合发布中国互联网经济白皮书2.0,解读“中国互联网新篇章:迈向产业融合”...

来源&#xff1a;阿里研究院2017年9月13日&#xff0c;BCG携手阿里研究院、百度发展研究中心和滴滴政策研究院共同发布了中国互联网经济白皮书1.0&#xff0c;第一次全面解读了中国互联网的“中国特色”。该报告一经发布就在业界备受关注&#xff0c;仅在微信公众号上就吸引了超…

深度学习已经触底?这篇文章的观点令人信服吗?

来源&#xff1a;机器之心摘要&#xff1a;AI 迎来另一寒冬&#xff1f;这是 2018 年下半年至今我们一直能听到的一种声音。这类唱衰的文章一经发布&#xff0c;总是能博人眼球。这篇发表在 Medium 上的文章探讨了 AI 的历史和现在&#xff0c;泛谈了深度学习的局限性&#xff…

阿里商业操作系统重磅发布!新零售绝对不止是零售层面的问题

来源&#xff1a;物联网智库摘要&#xff1a;2019年1月11日&#xff0c;阿里巴巴one商业大会在杭州隆重召开&#xff0c;阿里巴巴CEO张勇发表了题为《阿里巴巴商业操作系统》的主题演讲&#xff0c;并将此次大会称为“数字经济时代的网商大会”。会上&#xff0c;张勇宣布——在…

JS入门程序(一)

程序代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><title>Bootstrap 101 Template</title><link href"css/bootstrap.min.css" rel"stylesheet" media"screen"></head><…

万字长文回顾智能驾驶进化史

来源&#xff1a;软件定义世界&#xff08;SDX&#xff09;作者&#xff1a;吴甘沙、张玉新摘要&#xff1a;当卡尔 本茨发明汽车&#xff0c;人类进入汽车时代时&#xff0c;科学技术就对人类的 “ 出行 ” 进行了新的定义&#xff0c;而随着技术的不断发展与进步&#xff0c…

atitit.动态加载数据库配置in orm hibernate mybatis

atitit.动态加载数据库配置in orm 1. 动态加载数据库配置的优点::: 1 1.1. 组合多个配置文件... 1 1.2. 连接多个数据库 1 2. 基本的流程:::getCfg内存对象,,,,生成工厂类,在opoenSession 1 2.1. Hibernate动态添加配置流程 1 2.2. mybatis动态添加配置流程 1 2.3. #hb code 2 …

重磅!德勤TMT行业2019十大预测,遍地黄金的中国机会

来源&#xff1a;智东西摘要&#xff1a;着眼于全球科技、传媒和电信行业在未来5年的关键趋势&#xff0c;分析颠覆性技术变革及未来可能会影响行业内企业的因素。全球最大的会计事务所德勤于近日发布了《2019科技、传媒和电信行业预测》报告&#xff0c;该报告着眼于全球科技、…

PHP环境安全性能检查

PHP环境安全性能检查 PHP在Linux环境下安全配置是一个复杂的过程&#xff0c;其中涉及到很多的细节设置&#xff0c;在这里发出来一个脚本&#xff0c;通过这个脚本来检测你的PHP环境是否存在安全隐患&#xff0c;从而针对这些对你的PHP环境进行加固。功能&#xff1a; 1.检测P…

经济学人: Arm,孙正义手中的这只水晶球正在帮助他预测未来

来源&#xff1a;经济学人编译&#xff1a;机器之能 高璇摘要&#xff1a;除了看中 Arm 出色的盈利能力&#xff0c;对于孙正义来说&#xff0c;Arm 更像是未来计算应用的信息交换中心&#xff0c;虽然不能给软银具体的投资建议&#xff0c;但 Arm 确实可以告诉孙正义有前景、值…

深入浅出浮点数

1. 什么是浮点数在计算机系统的发展过程中&#xff0c;曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数&#xff08;Fixed Point Number&#xff09;。在这种表达方式中&#xff0c;小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式&am…

深度解析2019中国机器人行业年会主旨报告:把脉中国机器人发展,助力产业创新与协作共融...

来源&#xff1a;机器人大讲堂摘要&#xff1a;1月10日&#xff0c;由机器人大讲堂联合主办的2019中国机器人行业年会在北京盛大开幕。2018年经济下行趋势明显&#xff0c;迫使我们能沉下心来面对之前异常火爆的机器人市场&#xff0c;整个行业开始变得跌跌撞撞&#xff0c;很多…

如何防止基因编辑技术突破底线:警惕科学狂人再现

作者&#xff1a;胡丹萍 吴跃伟 刘楚来源&#xff1a;澎湃新闻从前隅于学界的基因编辑一词&#xff0c;在2018年&#xff0c;有如一声惊雷传入寻常百姓家。DNA和基因是生物体的核心代码&#xff0c;使用一组生物分子像剪刀或橡皮一样精确地改变基因序列即基因编辑技术。几十年来…

opencv简单的矩阵操作

OpenCV的基本矩阵操作与示例 OpenCV中的矩阵操作非常重要&#xff0c;本文总结了矩阵的创建、初始化以及基本矩阵操作&#xff0c;给出了示例代码&#xff0c;主要内容包括&#xff1a; 创建与初始化矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全…

中科院院士丁汉:数字化制造、机器人、人工智能是智能制造 “三驾马车”

丁汉院士演讲1月10日&#xff0c;由中国机电一体化技术应用协会、北京理工大学智能机器人与系统高精尖创新中心、中关村智友天使学院、机器人大讲堂(立德共创服务平台)、中关村融智特种机器人产业联盟和中关村信息谷等单位共同举办的2019年中国机器人行业年会在北京召开。会上&…

图像拼接---图片柱面投影简单实现

算法思想参考&#xff1a;http://blog.csdn.net/weixinhum/article/details/50611750 柱面投影是图片拼接的前期的一部分工作&#xff0c;以下代码只是简单的实现了投影&#xff0c;还可以优化&#xff0c; 柱面半径设置位图片宽度的一半&#xff0c;即 R width/2 代码运算…

从消费端到企业端,从设备到数据:物联网市场的爆发式增长

来源&#xff1a;资本家实验室随着越来越多的设备接入网络&#xff0c;并实现相互沟通&#xff0c;我们正在加速进入“万物互联”的时代。在此背景下&#xff0c;连接设备的数量、产生的收入和数据量也将呈现惊人的增长&#xff1a;到2020年&#xff0c;全球连接设备数量将达到…