javascript事件的传播基础实例讲解(35)
本文实例为大家分享了js事件的传播,供大家参考,具体内容如下
<html> <head> <metacharset="UTF-8"> <title></title> <styletype="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> <scripttype="text/javascript"> functionbind(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绑定单击响应函数 varbox1=document.getElementById("box1"); varbox2=document.getElementById("box2"); varbox3=document.getElementById("box3"); bind(box1,"click",function(){ alert(1); }) bind(box2,"click",function(){ alert(2); }) bind(box3,"click",function(){ alert(3); }) }; </script> </head> <body> <divid="box1"> <divid="box2"> <divid="box3"></div> </div> </div> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。