jQuery阻止事件冒泡实例分析

gooood个人博客网站

JavaScript

本文实例讲述了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> <div> 点我呀!!!! </div> </div> <a href="http:">百度</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>

本文内容由用户注册发布,仅代表作者或来源网站个人观点,不代表本网站的观点和立场,与本网站无关。本网系信息发布平台,仅提供信息存储空间服务,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。如因作品内容侵权需删除与其他问题需要同本网联系的,请尽快通过本网的邮箱或电话联系。 
THE END
分享
二维码
< <上一篇
下一篇>>