当前位置: 首页 > 编程笔记 >

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

茹康裕
2023-03-14
本文向大家介绍javascript事件的传播基础实例讲解(35),包括了javascript事件的传播基础实例讲解(35)的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了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事件的绑定基础实例讲解(34),包括了javascript事件的绑定基础实例讲解(34)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js事件绑定的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍JavaScript事件方法(实例讲解),包括了JavaScript事件方法(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码 以上这篇JavaScript事件方法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍javascript基础知识讲解,包括了javascript基础知识讲解的使用技巧和注意事项,需要的朋友参考一下 本篇适合javascript新手或者学了前端一段时间,对js概念不清晰的同学~~。 学习目的 本文针对javascript基础薄弱的同学,可以加深对javascript的理解。 本文将讲述以下几点对于初学者开说javascript(有的是大部分语言都有的)的坑 讲解内容如

  • 本文向大家介绍PHP bin2hex()函数基础实例讲解,包括了PHP bin2hex()函数基础实例讲解的使用技巧和注意事项,需要的朋友参考一下 PHP bin2hex() 函数 实例 把 "Hello World!" 转换为十六进制值: 定义和用法 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。 语法 实例 1 把一个字符

  • 本文向大家介绍Java绘图技术基础(实例讲解),包括了Java绘图技术基础(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 如下所示: 1、Component类提供了两个和绘图相关最重要的方法 1)paint(Graphics g)绘制组件外观 2)repaint()刷新组件的外观 当组件第一次在屏幕显示时,程序会自动的调用paint()方法来绘制组件。 2、关于Graphics类 运行效果如

  • 本文向大家介绍实例讲解javascript注册事件处理函数,包括了实例讲解javascript注册事件处理函数的使用技巧和注意事项,需要的朋友参考一下 事件是javascript的核心内容,它的重要性这里就不多介绍了。触发事件之后就需要有事件处理函数去处理,例如我们可以定义当点击一个按钮之后,将一个div的背景设置为绿色,那么就先看一下如何实现此效果,代码实例如下: 在以上代码中,点击按钮就会将d