Event事件:
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <script> 7 /* 8 event : 事件对象 , 当一个事件发生的时候,和当前这个对象发生的这个事件有关的一些详细的信息都会被临时保存到一个指定地方-event对象,供我们在需要的调用。飞机-黑匣子 9 10 事件对象必须在一个事件调用的函数里面使用才有内容,否则值为unidentified; 11 事件函数:事件调用的函数,一个函数是不是事件函数,不在定义的决定,而是取决于这个调用的时候 12 13 兼容 14 ie/chrome : event是一个内置全局对象 15 标准下 : 事件对象是通过事件函数的第一个参数传入,如 function(ev,a,b,c){}; 16 17 如果一个函数是被事件调用的那么,这个函数定义的第一个参数就是事件对象 18 19 clientX[Y] : 当一个事件发生的时候,鼠标到页面可视区的距离 20 */ 21 22 //alert( event ); //这里没有事件 23 24 /*document.onclick = function() { 25 alert(event); 26 };*/ 27 28 function fn1(ev) { 29 //alert( event ); 30 //alert( ev ); 31 var ev = ev || event; //兼容标准浏览器与非标准浏览器 32 //alert(ev); 33 34 /*for ( var attr in ev ) { 35 console.log( attr + ' = ' + ev[attr] ); 36 }*/ 37 38 alert(ev.clientX); 39 } 40 41 //fn1(); //不是事件调用的函数,纯粹是函数调用,此时值为unidentified x 42 document.onclick = fn1; //是事件调用的函数,所以event有内容 √ 43 </script> 44 </head> 45 46 <body> 47 </body> 48 </html>
Event事件实例:(跟随鼠标移动的div)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <style> 7 #div1 {width: 100px; height:100px; background: red; position: absolute;} 8 </style> 9 <script> 10 window.onload = function() { 11 12 //onmousemove : 当鼠标在一个元素上面移动的触发 13 //触发频率不是像素,而是间隔时间,在一个指定时间内(很短),如果鼠标的位置和上一次的位置发生了变化,那么就会触发一次 14 15 //var i = 0; 16 17 var oDiv = document.getElementById('div1'); 18 19 document.onmousemove = function(ev) { 20 //document.title = i++; 21 22 var ev = ev || event; 23 24 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; 25 26 oDiv.style.left = ev.clientX + 'px'; 27 oDiv.style.top = ev.clientY + scrollTop + 'px';//跟随鼠标在可视区,缺少scroll到顶部的距离,如下图示。 28 29 } 30 31 } 32 </script> 33 </head> 34 35 <body style="height: 2000px;"> 36 <div id="div1"></div> 37 </body> 38 </html>