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 的 prototype问题。
Jan 03 Javascript
jQuery ui 1.7更新小结
Aug 15 Javascript
基于jQuery的Tab选项框效果代码(插件)
Mar 01 Javascript
jQuery最佳实践完整篇
Aug 20 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
Feb 17 Javascript
js实现图片加载淡入淡出效果
Apr 07 Javascript
vue.js中mint-ui框架的使用方法
May 12 Javascript
深入koa-bodyparser原理解析
Jan 16 Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 Javascript
Element-UI+Vue模式使用总结
Jan 02 Javascript
Websocket 向指定用户发消息的方法
Jan 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
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
Python列表append和+的区别浅析
2015/02/02 Python
python逆向入门教程
2018/01/15 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
Python如何读取、写入JSON数据
2020/07/28 Python
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
创建无烟单位实施方案
2014/03/29 职场文书
岗位说明书范文
2014/05/07 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
民事赔偿协议书
2014/11/02 职场文书
辞职信标准格式
2015/02/27 职场文书
资金申请报告范文
2015/05/14 职场文书
重阳节主题班会
2015/08/17 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript
go语言中http超时引发的事故解决
2021/06/02 Golang
Python初识逻辑与if语句及用法大全
2021/08/07 Python