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的类型简单说明
Sep 03 Javascript
js 链式延迟执行DOME
Jan 04 Javascript
javascript确认框的三种使用方法
Dec 17 Javascript
js获取上传文件大小示例代码
Apr 10 Javascript
基于JavaScript创建动态Dom
Dec 08 Javascript
AngularJs动态加载模块和依赖注入详解
Jan 11 Javascript
Javascript的表单与验证-非空验证
Mar 18 Javascript
D3.js实现文本的换行详解
Oct 14 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
Jul 05 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 Javascript
JavaScript实现页面动态验证码的实现示例
Mar 23 Javascript
JS监听Esc 键触发事键
Apr 14 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
JavaScript DOM节点添加示例
2014/07/16 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
python如何调用字典的key
2020/05/25 Python
室内设计专业个人的自我评价
2013/12/18 职场文书
企业军训感言
2014/02/08 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
医学求职自荐信
2014/06/21 职场文书
销售活动策划方案
2014/08/26 职场文书
心得体会的写法
2014/09/05 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
2015新学期家长寄语
2015/02/26 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
mysql自增长id用完了该怎么办
2022/02/12 MySQL
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电