阻止事件冒泡的三种手段

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

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

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

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title>jQuery阻止冒泡</title>
 6     <style>
 7         .div1{
 8             width: 140px;
 9             border: 1px solid blue;
10         }
11         .div2{
12             width: 100px;
13             height: 100px;
14             margin: 20px;
15             border: 1px solid red;
16         }
17     </style>
18 </head>
19 <body>
20 <div class="div1">
21     <div class="div2">
22         点我呀!!!!
23     </div>
24 </div>
25
26 <a href="http:www.baidu.com" id="a1">百度</a>
27
28 <script src="../js/jquery/jquery.min.js"></script>
29 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
30 <script>
31     $(‘.div1‘).bind(‘click‘,function(){
32         alert("div1");
33     });
34     $(‘.div2‘).bind(‘click‘,function(){
35         alert("div2");
36 //        return false;//也可以通过return false 阻止冒泡
37         if(window.event){//IE下阻止冒泡
38             event.cancelBubble  = true;
39         }else{
40             event.stopPropagation();
41         }
42     });
43     $(‘#a1‘).bind(‘click‘,function(){
44         if(window.event){//IE下阻止默认事件
45             event.returnValue = false;
46         }else{
47             event.preventDefault();
48         }
49         alert("我是链接");
50         //return false;//如果不添加任何阻止事件,先弹框,后跳转,我们可以通过return false阻止跳转
51     });
52
53 </script>
54 </body>
55 </html>
时间: 2024-10-10 17:42:36

阻止事件冒泡的三种手段的相关文章

Html 中阻止事件冒泡的三种方法比较

A:return false --->In event handler ,prevents default behavior and event bubbing .         return false 在事件的处理中,可以阻止默认事件和冒泡事件.B:event.preventDefault()---> In event handler ,prevent default event (allows bubbling) .         event.preventDefault()在事件的

js阻止事件冒泡的两种方法

一.冒泡事件简介 当我们点击一个控件的时候,如果包括这个控件的父控件也有click事件,则会继续执行. 方法一:event.stopPropagation( ); 例如: <div>     <p>段落文本内容         <input type="button" value="点击" />     </p> </div> html代码: // 为所有div元素绑定click事件 $("div

JS阻止事件冒泡的3种方法之间的不同

什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window).   如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <%@ Page Language="C#" A

jquery取消事件冒泡的三种方法(推荐)

1.通过返回false来取消默认的行为并阻止事件起泡. jQuery 代码: ? 1 2 3 4 5 6 7 8 9 10 11 $("form").bind( "submit", function() { return false; } ); 2.通过使用 preventDefault() 方法只取消默认的行为. jQuery 代码: ? 1 2 3 4 5 6 7 8 9 $("form").bind( "submit",

js区分鼠标单双击 阻止事件冒泡

function clickOrDblClick(obj) { count++; if (obj != undefined) { var rowStr = $.trim($(obj).find("td:eq(1)").text().replace(/※/g, '')); currentRowpm = rowStr; } timer = window.setTimeout(function(obj) { var currentTr = $("#tbMainDeputy"

阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别

今天来看看前端的冒泡和事件默认事件如何处理 1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, 2.event.preventDefault()方法 这是阻止默认事件的方法,调用此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素: 3.return false  : 这个方法比较暴力,他会同事阻止事件冒泡也会阻止默认事件:写上此代

阻止事件冒泡 和 阻止事件默认行为

1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, 2.event.preventDefault()方法 这是阻止默认事件的方法,调用此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素: 3.return false  : 这个方法比较暴力,他会同事阻止事件冒泡也会阻止默认事件:写上此代码,连接不会被打开,事件也不会传递到上一层的

React 中阻止事件冒泡的问题

在正式开始前,先来看看 JS 中事件的触发与事件处理器的执行. JS 中事件的监听与处理 事件捕获与冒泡 DOM 事件会先后经历 捕获 与 冒泡 两个阶段.捕获即事件沿着 DOM 树由上往下传递,到达触发事件的元素后,开始由下往上冒泡. IE9 及之前的版本只支持冒泡 | A -----------------|--|----------------- | Parent | | | | -------------|--|----------- | | |Children V | | | | --

阻止事件冒泡和阻止后续代码执行

冒泡事件是点击子集标签的事件会触发父级标签的事件: 对应的jQuery代码如下: <script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ // 为内层div绑定click事件 $("#msg").click(function(