js中的事件捕捉模型与冒泡模型实例分析


Posted in Javascript onJanuary 10, 2015

本文实例讲述了js中的事件捕捉模型与冒泡模型。分享给大家供大家参考。

具体实现方法如下:

实例1:

<html>

<head>

<script type="text/javascript">

 window.onload = function(){

  document.getElementById('par').addEventListener('click',function() {alert('par');},true);

  document.getElementById('son').addEventListener('click',function() {alert('son');},true);

 }

</script>

<style type="text/css">

#par{width:300px;height:200px;background:gray;}

#son{width:200px;height:100px;background:green;}

</style>

</head>

<body>

<div id="par">

 <div id="son"></div>

</div>

</body>

</html>

实例2:
<html>

<head>

<script type="text/javascript">

 window.onload = function(){

  document.getElementById('par').addEventListener('click',function() {alert('par');});

  document.getElementById('son').addEventListener('click',function() {alert('son');});

 }

</script>

<style type="text/css">

#par{width:300px;height:200px;background:gray;}

#son{width:200px;height:100px;background:green;}

</style>

</head>

<body>

<div id="par">

 <div id="son"></div>

</div>

</body>

</html>

addEventListener:第三个参数为可选参数,默认情况下为false,表示冒泡模型,即先触发最小的层(id为son的div);而如果加上true参数,则说明是捕捉模型(从html-->body--->div),按这样的层次来触发。

实例1的html代码有两个div,小的div包含在大的div内,点击小的div时,先是会触发alert('par')事件;然后触发alert('son')整件。实例2正好相反。

如果是采用"对象.onclick"属性的方式来触发事件,采用的是冒泡模型。

IE不支持addEventListener,而是使用attachEvent。但attachEvent不支持第三个参数,它没有捕捉模型。

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript常用函数(1)
Nov 04 Javascript
基于javascript如何传递特殊字符
Nov 30 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
详解VUE 定义全局变量的几种实现方式
Jun 01 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
JS中跳出循环的示例代码
Sep 14 Javascript
微信小程序实现简易table表格
Jun 19 Javascript
微信小程序遍历Echarts图表实现多个饼图
Apr 25 Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 Javascript
详解React中共享组件逻辑的三种方式
Feb 02 Javascript
深入详解JS函数的柯里化
Jun 09 Javascript
js中键盘事件实例简析
Jan 10 #Javascript
js中this的用法实例分析
Jan 10 #Javascript
js创建对象的方式总结
Jan 10 #Javascript
js对象继承之原型链继承实例
Jan 10 #Javascript
js对象的复制继承实例
Jan 10 #Javascript
js面向对象之静态方法和静态属性实例分析
Jan 10 #Javascript
js获取会话框prompt的返回值的方法
Jan 10 #Javascript
You might like
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
jQuery toggleClass应用实例(附效果图)
2014/04/06 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
名片管理系统python版
2018/01/11 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
金融行业职业生涯规划范文
2014/01/17 职场文书
高校十八大报告感想
2014/01/27 职场文书
文明餐桌活动方案
2014/02/11 职场文书
北京申奥口号
2014/06/19 职场文书
房地产端午节活动方案
2014/08/24 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
民主评议党员工作总结
2014/10/20 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
祝酒词范文
2015/08/12 职场文书
python for循环赋值问题
2021/06/03 Python