js--事件对象的理解2

实例1:一串跟着鼠标飞舞的div 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
div {10px; height:10px; background:red; position:absolute;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>一串跟着鼠标飞舞的div </title>
<script>
window.onload=function ()
{
	var aDiv=document.getElementsByTagName('div');
	var i=0;	
	document.onmousemove=function (ev)   //事件处理函数
	{
		var oEvent=ev||event; //兼容浏览器的事件对象的写法,event是IE的写法,火狐下 事件处理函数是可以有参数的。  || 若两边都为真,则出第一个;若一真一假,则输出假
		
		for(i=aDiv.length-1;i>0;i--)
		{
			aDiv[i].style.left=aDiv[i-1].style.left;
			aDiv[i].style.top=aDiv[i-1].style.top;
		}
		
		aDiv[0].style.left=oEvent.clientX+'px';   //clientX 为浏览器的可视区坐标
		aDiv[0].style.top=oEvent.clientY+'px';
	};
};
</script>
</head>

<body>
<div></div>
<div></div>
<div></div>

<!--------------此处省略很多div-------->
</body>
</html>

  2.document是<!DOCTYPE 和html标签的父级

3.阻止事件冒泡:cancelBubble用于ie的阻止冒泡事件,event.stopPropagation()用于firefox和chrome等其他浏览器   。需要启用能力检测。

   //该函数的功能用来阻止冒泡,并兼容浏览器
    function stopBubble(e){
         if(e){
             e.stopPropagation(); //因此他支持WW3C的stopPropagation()方法
         }
        else{
             //否则,我们得使用IE的方式来取消事件冒泡
             window.event.cancelBubble=true;
         }
    }

  

原文地址:https://www.cnblogs.com/lanyueff/p/4604104.html