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 相关文章推荐
asp(javascript)全角半角转换代码 dbc2sbc
Aug 06 Javascript
js时间戳格式化成日期格式的多种方法
Nov 11 Javascript
href下载文件根据id取url并下载
May 28 Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
深入浅析JavaScript中with语句的理解
May 12 Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
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错误、异常处理机制(补充)
2012/05/07 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
实例解析php的数据类型
2018/10/24 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
Python实现二维数组输出为图片
2018/04/03 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
出纳的岗位职责
2013/11/09 职场文书
车间调度岗位职责
2013/11/30 职场文书
应聘自荐信
2013/12/14 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
药店采购员岗位职责
2014/09/30 职场文书
党校学习个人总结
2015/02/15 职场文书
医学会议开幕词
2016/03/03 职场文书
Python函数中apply、map、applymap的区别
2021/11/27 Python
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技
Python之matplotlib绘制折线图
2022/04/13 Python