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公告滚动+AJAX后台得到数据
Apr 14 Javascript
jQuery简单实现网页选项卡特效
Nov 24 Javascript
浅谈JS中的bind方法与函数柯里化
Aug 10 Javascript
bootstrap滚动监控器使用方法解析
Jan 13 Javascript
jQuery中on方法使用注意事项详解
Feb 15 Javascript
VUE-cli3使用 svg-sprite-loader
Oct 20 Javascript
JS实现图片切换效果
Nov 17 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
开源一个微信小程序仪表盘组件过程解析
Jul 30 Javascript
在vue中使用jsx语法的使用方法
Sep 30 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 Javascript
vue 子组件和父组件传值的示例
Sep 11 Javascript
微信小程序中实现一对多发消息详解及实例代码
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
Laravel实现用户注册和登录
2015/01/23 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
智乐游戏测试笔试题
2014/05/21 面试题
酒店司机岗位职责
2013/12/14 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
车间统计员岗位职责
2014/01/05 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
商家认证委托书格式
2014/10/16 职场文书
三好学生主要事迹材料
2015/11/03 职场文书