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 相关文章推荐
input 高级限制级用法
Mar 26 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
Feb 27 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
May 11 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
详解微信小程序——自定义圆形进度条
Dec 29 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
Dec 07 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 Javascript
基于layui轮播图满屏是高度自适应的解决方法
Sep 16 Javascript
vue请求数据的三种方式
Mar 04 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
PHP查询分页的实现代码
2017/06/09 PHP
Javascript的构造函数和constructor属性
2010/01/09 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
JavaScript实现全选取消效果
2017/12/14 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
python多线程扫描端口示例
2014/01/16 Python
Python自动连接ssh的方法
2015/03/07 Python
pygame学习笔记(4):声音控制
2015/04/15 Python
举例讲解Python中的身份运算符的使用方法
2015/10/13 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
Python遍历pandas数据方法总结
2018/02/09 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
会计电算化个人自我评价
2013/11/17 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
运动与健康自我评价
2015/03/09 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技