Developer Test-Jquery-阻止冒泡

今天来看看前端的冒泡和事件默认事件如何处理

1.event.stopPropagation()方法

这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开,

2.event.preventDefault()方法

这是阻止默认事件的方法,调用此方法是,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素;

3.return false  ;

这个方法比较暴力,他会同事阻止事件冒泡也会阻止默认事件;写上此代码,连接不会被打开,事件也不会传递到上一层的父元素;可以理解为return false就等于同时调用了event.stopPropagation()和event.preventDefault()

4.我们来看看几组demo,使用jQuery进行DOM操作

这是html代码,div里面套了一个a标签,连接到百度

[html] view plain copy

print?

  1. <div class="box1">
  2. <a href="http://www.baidu.com" target="_blank"></a>
  3. </div>

css代码,a标签占父元素的空间的1/4,背景颜色为红色;

[html] view plain copy

print?

  1. .box1{
  2. height: 200px;
  3. width: 600px;
  4. margin: 0 auto;
  5. }
  6. .box1 a{
  7. display: block;
  8. height: 50%;
  9. width: 50%;
  10. background:red;
  11. }

下面来看js代码,第一种

[html] view plain copy

print?

  1. //不阻止事件冒泡和默认事件
  2. $(".box1").click(function(){
  3. console.log("1")//不阻止事件冒泡会打印1,页面跳转;
  4. });

第二种

[html] view plain copy

print?

  1. //阻止冒泡
  2. $(".box1 a").click(function(event){
  3. event.stopPropagation();//不会打印1,但是页面会跳转;
  4. });
  5. $(".box1").click(function(){
  6. console.log("1")
  7. });


第三种

[html] view plain copy

print?

  1. $(".box1 a").click(function(event){
  2. //阻止默认事件
  3. event.preventDefault();//页面不会跳转,但是会打印出1,
  4. });
  5. $(".box1").click(function(){
  6. console.log("1");
  7. });

第四种

[html] view plain copy

print?

  1. $(".box1").click(function(){
  2. console.log("1")
  3. });
  4. //阻止冒泡
  5. $(".box1 a").click(function(event){
  6. event.stopPropagation();
  7. //阻止默认事件
  8. event.preventDefault() //页面不会跳转,也不会打印出1
  9. })

第五种

[html] view plain copy

print?

    1. $(".box1").click(function(){
    2. console.log("1")
    3. });
    4. $(".box1 a").click(function(event){
    5. return false;  //页面不会跳转,也不会打印出1,等于同时调用了event.stopPropagation()和event.preventDefault()
    6. });
时间: 2024-08-27 17:57:37

Developer Test-Jquery-阻止冒泡的相关文章

jquery阻止冒泡事件:$(&#39;span&#39;).bind(&quot;click&quot;,function(event){event.stopPropagation();})(有用源)

冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. <body> <div id="content"> 外层div元素 <span>内层span元素</span> 外层div元素 </div> <div id="msg"></div> </body> <script type="text/javascript"> $(funct

jQuery阻止冒泡和HTML默认操作

jQuery是一个快捷简便的JavaScript框架,说道框架可以直接理解为就是对原来底层的东西进行了封装使得开发者能够利用这个框架快速开发. 1:jQuery是一个快捷简便的JavaScript框架,说道框架可以直接理解为就是对原来底层的东西进行了封装使得开发者能够利用这个框架快速开发. 2:在当今的各个浏览器中都支持事件的冒泡,所谓的冒泡可以这样理解: 条件:外层有一个DIV元素,在内层有一个P元素,他两存在这样的关系:DIV是P元素的父元素,而P是外层DIV的子元素,他们之间存在包含和被包

JQuery阻止冒泡事件on绑定中异常情况分析

科普下事件冒泡以及默认行为,以下面例子举列子: 事件冒泡:当点击内部button元素时,会触发自身及外层 a的点击事件,这就是事件冒泡引起的.事件会随着 DOM 的层次结构依次向上传播. 事件冒泡可能会引起意料之外的效果,有时候需要阻止事件的冒泡行为. 默认行为:例子中a的href跳转链接就是所谓的默认行为,或者是表单form的提交. JQuery中阻止冒泡常用到的有以下3个方法: 1:event.stopPropagation();  只阻止了冒泡事件, 默认行为没有阻止 2:event.pr

jquery阻止冒泡和阻止默认事件

event.stopPropagation(); event.preventDefault(); http://www.cnblogs.com/qixuejia/archive/2013/10/10/3362318.html

点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态

给tr添加点击事件,使用find方法查找tr下的所有层级的元素,children只查找下一层级的元素,所以使用find.find的返回值为jquery对象,在这个项目中不知道为什么使用jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态,所以我就把jquery对象转换为DOM对象,怎么转呢?jquery对象[0]或者get(0)就转换成DOM对象,然后直接.checked返回true或false就可以判断checkbox是否选中了.然后判断状

jQuery中的冒泡事件和阻止冒泡

jQuery代码 <script type="text/javascript"> $(function () { $("#p1").click(function () { alert("p1被点了"); }); $("#td1").click(function (e) { alert("td1被点了"); e.stopPropagation() }); //阻止冒泡 $("#tr1&q

jquery 事件冒泡的介绍以及如何阻止事件冒泡

原文地址:http://www.jb51.net/article/32792.htm 什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window). 如何来阻止Jquery事件冒泡? 通过一

【JavaScript】事件冒泡及使用jQuery阻止

(1)什么是事件起泡 首先你要明白一点,当一个事件发生的时候,该事件总是有一个事件源,即引发这个事件的对象,一个事件不能凭空产生,这就是事件的发生. 当事件发生后,这个事件就要开始传播.为什么要传播呢?因为事件源本身并没有处理事件的能力.例如我们点击一个按钮时,就会产生一个click事件,但这个按钮本身不能处理这个事件(废话),事件必须从这个按钮传播出去,从而到达能够处理这个事件的代码中(例如我们给按钮的onclick属性赋一个函数的名字,就是让这个函数去处理该按钮的click事件). 当事件在

jQuery阻止事件冒泡代码实例

jQuery阻止事件冒泡代码实例:本章节分享一段代码实例,此代码能够实现组织时间冒泡的功能,希望能够对大家有借鉴作用.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落&l

js阻止冒泡及jquery阻止事件冒泡示例介绍

js阻止冒泡 在阻止冒泡的过程中,W3C和IE采用的不同的方法,那么我们必须做以下兼容. 复制代码 代码如下: function stopPro(evt){ var e = evt || window.event; //returnValue如果设置了该属性,它的值比事件句柄的返回值优先级高.把这个属性设置为 fasle, //可以取消发生事件的源元素的默认动作. //window.event?e.returnValue = false:e.preventDefault(); window.ev