时间:2021-07-01 10:21:17 帮助过:14人阅读
本文实例讲述了jQuery阻止事件冒泡。分享给大家供大家参考,具体如下:
我们在平时的开发过程中,肯定会遇到在一个p(这个p可以是元素)包裹一个p的情况,但是呢,在这两个p上都添加了事件,如果点击里面的p我们希望处理这个p的事件,但是呢,我们不希望外层的p的事件也执行,这时候我们就要用到阻止冒泡。
通俗点来说吧,你在家里看电视,躲在自己的小房间,但是你不希望声音传到隔壁父母的耳朵里,这时候,你可能躲在被窝里,或者墙壁的隔音效果很好,阻隔声音可以理解为阻止冒泡。
阻止事件冒泡的三种手段
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>
- .p1{
- width: 140px;
- border: 1px solid blue;
- }
- .p2{
- width: 100px;
- height: 100px;
- margin: 20px;
- border: 1px solid red;
- }
- </style>
- </head>
- <body>
- <p class="p1">
- <p class="p2">
- 点我呀!!!!
- </p>
- </p>
- <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>
- $('.p1').bind('click',function(){
- alert("p1");
- });
- $('.p2').bind('click',function(){
- alert("p2");
- // 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>
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
基于Jquery easyui 选中特定的tab
有关jquery与DOM节点操作方法和属性记录
利用jQuery实现WordPress中@的ID悬浮显示评论内容
以上就是jQuery阻止事件冒泡实例分析的详细内容,更多请关注Gxl网其它相关文章!