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


Posted in Javascript onFebruary 14, 2017

本文实例为大家分享了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 相关文章推荐
jQuery图片的展开和收缩实现代码
Apr 16 Javascript
js判断生效时间不得大于失效时间的思路及代码
Apr 23 Javascript
JS 获取浏览器和屏幕宽高等信息代码
Mar 31 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
AngularJS Ajax详解及示例代码
Aug 17 Javascript
bootstrap中使用google prettify让代码高亮的方法
Oct 21 Javascript
JSONP基础知识详解
Mar 19 Javascript
ES6新特性之Symbol类型用法分析
Mar 31 Javascript
Vue 父子组件的数据传递、修改和更新方法
Mar 01 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
vue移动端使用canvas签名的实现
Jan 15 Javascript
如何理解Vue简单状态管理之store模式
May 15 Vue.js
微信小程序中实现一对多发消息详解及实例代码
Feb 14 #Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 #Javascript
js基于myFocus实现轮播图效果
Feb 14 #Javascript
javascript 单例模式详解及简单实例
Feb 14 #Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
Feb 14 #Javascript
微信小程序 弹幕功能简单实例
Feb 14 #Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
Feb 14 #Javascript
You might like
php操作mongoDB实例分析
2014/12/29 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
js控制表单操作的常用代码小结
2013/08/15 Javascript
js中style.display=&quot;&quot;无效的解决方法
2014/10/30 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
bat和python批量重命名文件的实现代码
2016/05/19 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
python 调试冷知识(小结)
2019/11/11 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
应届毕业生求职信范文分享
2013/12/26 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
《分一分》教学反思
2014/04/13 职场文书
护士求职信
2014/07/05 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
母亲去世追悼词
2015/06/23 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers