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 相关文章推荐
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
jQuery选择器源码解读(二):select方法
Mar 31 Javascript
jquery ui resize 中border-box的bug修正
Apr 26 Javascript
浅谈JavaScript中指针和地址
Jul 26 Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 Javascript
原生js的数组除重复简单实例
May 24 Javascript
Vue 父子组件的数据传递、修改和更新方法
Mar 01 Javascript
Angular2之二级路由详解
Aug 31 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 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
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
JavaScript 事件记录使用说明
2009/10/20 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
Python判断两个对象相等的原理
2017/12/12 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
python 如何引入协程和原理分析
2020/11/30 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
高中运动会入场词
2014/02/14 职场文书
公司股权转让协议书
2014/04/12 职场文书
环保倡议书
2014/04/14 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
2014年卫生工作总结
2014/11/27 职场文书
项目建议书
2015/02/04 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
idea下配置tomcat避坑详解
2022/04/12 Servers