阻止事件冒泡总结

转载 2018年04月16日 16:38:23

1、事件冒泡:

    在一个对象上触发某类事件(例如单击事件onclick事件),若果此对象定义了此事件的处理程序,那么就会调用这个处理程序;但是如果没有定义此事件的处理程序或者事件返回true,那么这个事件就会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它达到了对象层次的最顶层,即document对象(有的浏览器是window)。

2、解决方法:

(1) 在事件处理程序最后加上return flase;语句(只适用jQuery,原生js无效)

它实际上做了3件事情:

[javascript] view plain copy
  1. event.preventDefault();  
  2. event.stopPropagation();  
  3. 停止回调函数执行并立即返回。  

(2) 不用return且兼容ie的原生写法(ie8及其以下)

(ie6/7/8 只支持window.event不支持参数传入,火狐只支持参数传入,IE9/Opera/Safari/Chrome 两种方式都支持。。。)

[javascript] view plain copy
  1. var e = event || window.event;  
  2.     if (e && e.stopPropagation) {  
  3.         e.stopPropagation();  
  4.     } else {  
  5.         e.cancelBubble = true;  
  6.     }  

3、jQuery下,不用考虑兼容性问题。。。

[javascript] view plain copy
  1. $("id").click(function(e) {  
  2.        e.stopPropagation();  
  3.    });  

VB + Winsock + CGI 实现 QQ (OICQ) 在线检测

VB + Winsock + CGI 实现 QQ (OICQ) 在线检测(支持代理服务器)!标准 EXE 例程下载http://microinfo.top263.net/Zip/WskQQExe.zi...
  • playyuer
  • playyuer
  • 2001-07-02 15:18:00
  • 1301

jquery阻止事件冒泡

  • 2012年11月25日 12:53
  • 227KB
  • 下载

angularJS如何处理事件冒泡

事件冒泡和事件捕捉一直以来都是被讨论的话题,也许大家平时在工作中没有遇到过需要解决事件冒泡的情况 举个栗子: 从以上的代码中的fun1(),fun2()和...
  • Sourcecode_poet
  • Sourcecode_poet
  • 2016-12-07 19:44:35
  • 3483

JavaScript中事件捕获和事件冒泡以及如何阻止冒泡事件和默认事件

1. 阻止冒泡事件 主要是用于阻止事件传播。阻止它被分派到其他的DOM节点上,在事件传播的任何阶段都能使用。使用方法如下(兼容IE): function stopBubble(event){ if(...
  • michael8512
  • michael8512
  • 2017-08-21 11:15:45
  • 832

事件冒泡的阻止和应用场景

事件冒泡的原理 事件捕获其实有三种方式,事件冒泡只是其中的一种:(1)IE从里到外(inside→outside)的冒泡型事件。(2)Netscape4.0从外到里(outside→insi...
  • u010513603
  • u010513603
  • 2017-12-19 16:46:31
  • 235

阻止事件冒泡和组阻止默认事件和return false的区别

今天来看看前端的冒泡和事件默认事件如何处理 1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用...
  • senmage
  • senmage
  • 2017-09-16 10:52:45
  • 189

jQuery中阻止事件冒泡方式及其区别

Jquery提供了两种方式来阻止事件冒泡 方式一:event.stopPropagation(); $("#div1").mousedown(function(e){         e.sto...
  • fanlulu2015
  • fanlulu2015
  • 2016-01-06 13:17:24
  • 1934

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

冒泡如果在页面中重叠了多个元素,并且重叠的这些元素都绑定了同一个事件,那么就会出现冒泡问题。例如: 如果document、d...
  • twilight_karl
  • twilight_karl
  • 2017-06-16 16:50:06
  • 983

如何阻止事件冒泡和默认事件

一、冒泡事件 我们都知道冒泡就像水底气泡浮到水面这一过程。冒泡事件即是事件从最底层逐个经过上面一级级事件的过程,就是冒泡事件。那么如何有效的阻止冒泡事件的发生?其实在非IE浏览器中提供了一个事件对象 ...
  • u011641865
  • u011641865
  • 2016-04-26 08:52:25
  • 6283

防止事件冒泡和阻止默认事件的兼容写法

阻止事件的传播兼容function(e){ var e=e||window.event; e.stopPropagation();//阻止事件的传播(包...
  • learner_boy
  • learner_boy
  • 2017-06-06 18:20:00
  • 717
收藏助手
不良信息举报
您举报文章:阻止事件冒泡总结
举报原因:
原因补充:

(最多只允许输入30个字)