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 相关文章推荐
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
Apr 27 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
Apr 30 Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 Javascript
浅谈JS原型对象和原型链
Mar 02 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
Angular.js跨controller实现参数传递的两种方法
Feb 20 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 Javascript
手把手带你搭建一个node cli的方法示例
Aug 07 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实现网上点歌(二)
2006/10/09 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
js表数据排序 sort table data
2009/02/18 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
详解Python多线程
2016/11/14 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
Python遍历numpy数组的实例
2018/04/04 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
实验教师岗位职责
2014/02/13 职场文书
工作求职自荐信
2014/06/13 职场文书
民事答辩状范本
2015/05/21 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
python中的getter与setter你了解吗
2022/03/24 Python
MySQL Server层四个日志的实现
2022/03/31 MySQL
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android