最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
javascript事件的传播基础实例讲解(35)
时间:2017-04-06 编辑:简简单单 来源:一聚教程网
代码如下 | 复制代码 |
#box1{ width: 300px; height: 300px; background-color: deepskyblue; }
#box2{ width: 200px; height: 200px; background-color: cadetblue; }
#box3{ width: 100px; height: 100px; background-color: chocolate; }
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); })
};
|
相关文章
- javascript滚轮事件基础实例讲解(37) 04-06
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31