js中的事件捕捉模型与冒泡模型实例分析

 更新时间:2015年01月10日 16:31:08   投稿:shichen2014  
这篇文章主要介绍了js中的事件捕捉模型与冒泡模型,实例分析了js事件的执行顺序与冒泡模型的原理,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • layui点击数据表格添加或删除一行的例子

    layui点击数据表格添加或删除一行的例子

    今天小编就为大家分享一篇layui点击数据表格添加或删除一行的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS解决ajax无法后退的问题记录

    JS解决ajax无法后退的问题记录

    Ajax请求通常不支持浏览器的后退按钮,因为它们是异步的,不会导致页面重新加载(刷新),但如果你想要用户能够通过浏览器的后退按钮回到之前的页面状态,你可以通过几种方法来解决这个问题,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • 浅析JavaScript中的array数组类型系统

    浅析JavaScript中的array数组类型系统

    除了对象之外,数组Array类型可能是javascript中最常用的类型了。而且,javascript中的数组与其他多数语言中的数组有着相当大的区别。本文将介绍javascript中的数组Array类型,非常不错,感兴趣的朋友一起看下吧
    2016-07-07
  • JS实现时间校验的代码

    JS实现时间校验的代码

    这篇文章主要介绍了JS实现时间校验的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Javascript使用uploadify来实现多文件上传

    Javascript使用uploadify来实现多文件上传

    本篇文章主要介绍了Javascript使用uploadify来实现多文件上传,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • js简单实现自动生成表格功能示例

    js简单实现自动生成表格功能示例

    这篇文章主要介绍了js简单实现自动生成表格功能,结合实例形式分析了JavaScript针对数组元素遍历与页面元素动态操作相关实现技巧,需要的朋友可以参考下
    2020-06-06
  • bootstrap下拉列表与输入框组结合的样式调整

    bootstrap下拉列表与输入框组结合的样式调整

    输入框组默认是div.input-group。接下来通过本文给大家介绍bootstrap下拉列表与输入框组结合的样式调整,感兴趣的朋友一起看看吧
    2016-10-10
  • javascript中全局对象的parseInt()方法使用介绍

    javascript中全局对象的parseInt()方法使用介绍

    全局对象的parseInt()方法该如何使用,下面为大家详细介绍下,感兴趣的朋友不要错过
    2013-12-12
  • JavaScript中的普通函数和箭头函数的区别和用法详解

    JavaScript中的普通函数和箭头函数的区别和用法详解

    这篇文章主要介绍了JavaScript中的普通函数和箭头函数的区别和用法详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • 使用JS给静态页面添加搜索功能的实现方法

    使用JS给静态页面添加搜索功能的实现方法

    静态页面通常由HTML、CSS 和 JavaScript 等静态文件组成,这些文件在服务器上不会动态生成或修改,所以加载速度通常比较快,本文给大家介绍了如何只使用JS给静态网页添加站内全局搜索功能,文中有详细的解决方案,需要的朋友可以参考下
    2023-11-11

最新评论