javascript事件的传播基础实例讲解(35)

 更新时间:2017年02月14日 16:25:57   作者:厚积薄发2017  
这篇文章主要为大家详细介绍了javascript事件的传播基础实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js事件的传播,供大家参考,具体内容如下

<html> 
 <head> 
  <meta charset="UTF-8"> 
  <title></title> 
  <style type="text/css"> 
   #box1{ 
    width: 300px; 
    height: 300px; 
    background-color: deepskyblue; 
   } 
    
   #box2{ 
    width: 200px; 
    height: 200px; 
    background-color: cadetblue; 
   } 
    
   #box3{ 
    width: 100px; 
    height: 100px; 
    background-color: chocolate; 
   } 
    
  </style> 
   
  <script type="text/javascript"> 
   
   function bind(obj , eventStr , callback){ 
     
    if(obj.addEventListener){ 
     //如果是正常浏览器 
     obj.addEventListener(eventStr , callback , false); 
    }else{ 
     //IE8 
     obj.attachEvent("on"+eventStr , function(){ 
      callback.call(obj); 
     }); 
    } 
   } 
    
   window.onload = function(){ 
     
    /* 
     * 事件的传播 
     * - 关于事件的传播微软和网景公司有着不同的理解 
     * - 微软公司,认为事件应该是从后代元素向祖先元素传播,即从里向外传播,也就是我们所谓事件的冒泡 
     * - 网景公司,认为事件应该是从祖先元素向后代元素传播,即从外向里传播,这一阶段我们称为事件的捕获 
     * - W3C综合了两个公司的方案,将事件的传播分成了三个阶段 
     *  1.捕获阶段 
     *   - 事件从最外层的元素(document),向目标元素进行事件的捕获 
     *   - 此阶段默认不会触发事件 
     *  2.目标阶段 
     *   - 目标指的是触发事件的元素,捕获到目标元素则捕获阶段停止 
     *  3.冒泡阶段 
     *   - 事件从目标元素向祖先元素中冒泡,此时开始触发事件 
     *   - 默认事件都是在冒泡阶段执行的 
     * 
     * - 事件都是默认在冒泡阶段执行的,一般不需要在捕获阶段触发事件, 
     *  如果希望在捕获阶段执行事件,则需要将addEventListener()的第三个参数修改为true 
     * 
     * - IE8及以下的浏览器没有捕获阶段,也不能设置在捕获阶段触发事件 
     */ 
     
    //分别为三个div绑定单击响应函数 
    var box1 = document.getElementById("box1"); 
    var box2 = document.getElementById("box2"); 
    var box3 = document.getElementById("box3"); 
     
    bind(box1,"click",function(){ 
     alert(1); 
    }) 
     
    bind(box2,"click",function(){ 
     alert(2); 
    }) 
     
    bind(box3,"click",function(){ 
     alert(3); 
    }) 
     
   }; 
    
    
  </script> 
 </head> 
 <body> 
   
  <div id="box1"> 
   <div id="box2"> 
    <div id="box3"></div> 
   </div> 
  </div> 
   
 </body> 
</html> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 用javascript实现自动输出网页文本

    用javascript实现自动输出网页文本

    这篇文章主要介绍了用javascript实现自动输出网页文本,用到两个函数:setTimeout(),递归和String.substring();,需要的朋友可以参考下
    2015-07-07
  • Underscore.js 的模板功能介绍与应用

    Underscore.js 的模板功能介绍与应用

    Underscore是一个非常实用的JavaScript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScript的原生对象的情况下提供很多实用的功能,需要了解的朋友可以详细参考下
    2012-12-12
  • csdn 博客的css样式 v3

    csdn 博客的css样式 v3

    仅相隔一天就出了个v3。 修正了一个bug,firefox左侧内容宽度错误。
    2009-02-02
  • JavaScript前端实现快照的示例代码

    JavaScript前端实现快照的示例代码

    snapshot 翻译为快照,用于直观获取页面在某个运行时的状态,本文主要为大家详细介绍 snapshot 工具实现的原理,以及其在项目中的使用,需要的可以参考下
    2023-11-11
  • javascript 使用for循环时该注意的问题-附问题总结

    javascript 使用for循环时该注意的问题-附问题总结

    所谓for循环就是重复的执行一段代码,for循环也是希望在创建循环时常会用到的工具,这篇内容主要给大家介绍javascript 使用for循环时该注意的问题-附问题总结,需要的朋友可以参考下
    2015-08-08
  • JS自定义函数对web前端上传的文件进行类型大小判断

    JS自定义函数对web前端上传的文件进行类型大小判断

    这篇文章主要介绍了JS自定义函数对web前端上传的文件进行类型大小判断的相关资料,需要的朋友可以参考下
    2016-10-10
  • JavaScript之Canvas_动力节点Java学院整理

    JavaScript之Canvas_动力节点Java学院整理

    这篇文章主要介绍了JavaScript之Canvas,Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表、动画等
    2017-07-07
  • js基于面向对象实现网页TAB选项卡菜单效果代码

    js基于面向对象实现网页TAB选项卡菜单效果代码

    这篇文章主要介绍了js基于面向对象实现网页TAB选项卡菜单效果代码,实例演示了鼠标滑过即点击两种方式实现tab选项卡切换功能,涉及JavaScript鼠标事件控制页面元素属性变换的功能,需要的朋友可以参考下
    2015-09-09
  • Bootstrap表单组件教程详解

    Bootstrap表单组件教程详解

    表单常见的元素主要包括:文本输入框、下拉选择框、单选框、复选框、文本域、按钮等。接下来通过本文给大家介绍Bootstrap表单组件教程,感兴趣的朋友一起学习吧
    2016-04-04
  • 判断“命令按钮”是否被鼠标单击详解

    判断“命令按钮”是否被鼠标单击详解

    在本篇文章里小编给各位分享的是关于判断“命令按钮”是否被鼠标单击的相关知识点内容,有需要的朋友们参考下。
    2019-07-07

最新评论