冒泡事件可以查询上个随笔,

捕捉事件正好和冒泡时间正反着

所以这代码我把冒泡事件注释,

html和css的内容

<style type="text/css">
#box1{width:500px;height:500px;background:#900;}
#box2{width:400px;height:400px;background:#090;}
#box3{width:300px;height:300px;background:#009;}
#box4{width:200px;height:200px;background:#990;}
#box5{width:100px;height:100px;background:#099;}
</style> <body>
<div id="box1">
<div id="box2">
<div id="box3">
<div id="box4">
<div id="box5"> </div>
</div>
</div>
</div>
</div>

js部分代码

 <script>
window.onload=function()
{
//监听事件
var $=function(_id){return document.getElementById(_id);}
document.addEventListener("click", function(){alert("捕抓中,你点击了document")}, true);
document.body.addEventListener("click", function(){alert("捕抓中,你点击了body")}, true);
$("box1").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
$("box2").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
$("box3").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
$("box4").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
// $("box5").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true); //冒泡事件
// var $=function(_id){return document.getElementById(_id);}
// document.addEventListener("click", function(){alert("冒泡中,你点击了document")}, false);
// document.body.addEventListener("click", function(){alert("冒泡中,你点击了body")}, false);
// $("box1").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
// $("box2").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
// $("box3").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
// $("box4").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
// // $("box5").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false); //删除监听事件,必须完全一样
var del =function(){alert("冒泡中,你点击了id为: "+this.id +"的div")}
$("box5").addEventListener("click", del, false);
// $("box5").removeEventListener("click",del, false); //ie用的是attachEvent() 和detachEvent() 都有两个参数 ie11也不支持了
// $("box5").attachEvent("onclick",del);
// $("box5").detachEvent("onclick",del); }
</script>

其实捕捉监听事件和冒泡事件只是函数的一个参数不同,一个true,一个false。

其实主要有时候我们实现某些功能时,需要移除捕捉和冒泡事件。

  

js的捕捉事件,冒泡事件的更多相关文章

  1. 理解js事件冒泡事件委托事件捕获

    js事件冒泡 javascript的事件传播过程中,当事件在一个元素上出发之后,事件会逐级传播给先辈元素,直到document为止,有的浏览器可能到window为止,这就是事件冒泡现象. <di ...

  2. js --- 事件冒泡 事件捕获

    先上结论: 他们是描述事件触发时序问题的术语.事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件.相反的,事件冒泡是自下而上的去触发事件.绑定事件方法的第三个参数,就是控制事 ...

  3. JavaScript和JQuery中的事件\委托链\事件冒泡\事件捕获,兼容所有浏览器

    有做过北大青鸟培训讲师经验的我,如今在一家公司做技术部经理的职位,发现有很多程序员的基本功相当糟糕,在组织企业内部培训时讲解了一些案例,总结了一些经典代码,希望对自己和有需要的人提供一些帮助吧: Ja ...

  4. 【事件流】浅谈事件冒泡&&事件捕获------【巷子】

    首先在扯淡的时候我们需要先了解一个东西,这个东西就是事件流. 1.什么是事件流? 解释:当一个HTML元素触发一个事件处理函数的时候,该事件会在该元素节点到根节点之间传播,传播路径所经过的节点都会接受 ...

  5. jQuery--事件, 事件绑定, 阻止事件冒泡, 事件委托,页面载入后函数

    1.常用事件, 按住shift键实现同步选择效果,搜索框联想效果 2.阻止事件冒泡 3.事件委托 4.使用 $(document).ready(function (){...}) 实现文件加载完绑定事 ...

  6. jQuery之防止冒泡事件,冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。

    冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 下面是html代码部分: <body> <div id="content"> 外层div元素 ...

  7. javaScript的事件冒泡事件捕获

    (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div ...

  8. DOM 事件监听 事件冒泡 事件捕获

    addEventListener() 方法 实例: // 当用户点击按钮时触发监听事件: document.getElementById("myBtn").addEventList ...

  9. js中事件冒泡,事件捕获详解

    一.事件流 事件是js与HTML交互的基础,事件流描述的是页面接受事件的顺序,而事件流又分为三个阶段:捕获阶段.目标阶段和冒泡阶段. 如果单纯的事件处理,事件捕获和事件冒泡二选一即可,导致两者并存的原 ...

随机推荐

  1. C3P0数据库连接池的相关bug解决

    数据库连接池的几个常见bug: 1.警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@76c7022e -- ...

  2. 就Double、Decimal来说数据计算异常

    场景: 客户提示发料时提示库存不足,可肉眼比对发料数量与库存数量没有一点问题. 但调度跟踪却发现出现“不可思议”的异常. 简单分析: 1.转Decimal再计算没问题.精度较高,存储方法也不一样,所以 ...

  3. [Freescale]E9学习笔记-LTIB总结

    转自:http://blog.csdn.net/wl_haanel/article/details/6231353   写在前面        符号'##'后面语句均为注释        需要做的操作 ...

  4. Redis 内存使用优化与存储

    Redis 常用数据类型 Redis 最为常用的数据类型主要有以下五种: • String • Hash • List • Set • Sorted set 在具体描述这几种数据类型之前,我们先通过一 ...

  5. Pointer arithmetic for void pointer in C

    http://stackoverflow.com/questions/3523145/pointer-arithmetic-for-void-pointer-in-c When a pointer t ...

  6. 2016 Multi-University Training Contest 4 Bubble Sort(树状数组模板)

    Bubble Sort 题意: 给你一个1~n的排列,问冒泡排序过程中,数字i(1<=i<=n)所到达的最左位置与最右位置的差值的绝对值是多少 题解: 数字i多能到达的最左位置为min(s ...

  7. Mongodb(2)创建数据库,删除数据库,创建集合,删除集合,显示文档内容

    显示所有数据库列表:show dbs > show dbs local .078GB runoob .078GB > 显示当前数据库:db > db runoob > 显示所有 ...

  8. Android NDK 构建 以及一些错误

    首先下载NDK 然后在最外层的 local.properties文件夹中 写上  ndk的路径 ndk.dir=/Users/wyj/Desktop/androidStudioSdk/android- ...

  9. jsp页面编译成Servlet类文件

    package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.js ...

  10. C++开源hash项目sparsehash

    源码地址: https://github.com/sparsehash/sparsehash