标签:
Event对象用来描述在浏览器窗口中发生的事件,一旦事件发生,便会生成event对象。
尽管所有事件属性都可以通过event对象访问,但是在某些事件中某些属性可能无意义。如fromElement和toElement属性仅当处理onmouseover和onmouseout事件时才有意义。
另外,还要注意不同浏览器之间事件对象的差异。在低版本IE中,如果函数被一个事件调用,它可以通过window.event访问event对象,但是,其他浏览器把event对象传递给事件处理函数,作为事件处理函数的参数。因此,要实现浏览器兼容,在定义事件触发时必须用参数把事件对象传递到函数中。
实现浏览器兼容的事件处理代码如下:
1 <div id="myDiv" onclick="javascript:handleEvent(event);"></div> 2 <script type="text/javascript"> 3 function handleEvent(evt) { 4 var myEvent = window.event ? window.event : evt; 5 }; 6 </script>
上述代码会判断window.event属性是否存在,如果存在,就使用window.event,否则使用传递过来的参数evt。
下面的实例可以获取鼠标的坐标,并可以跨浏览器兼容:
1 <body onmousemove="javascript: canmove(event);" id="bodyId"> 2 <div id="myDiv" style="position: relative; width: 1000px; height: 700px;"> 3 Move Mouse 4 </div> 5 6 <script type="text/javascript"> 7 var x, y; 8 var oDiv = document.getElementById(‘myDiv‘); 9 function canmove(evt) { 10 var myEvent = window.event ? window.event : evt; 11 x = document.body.scrollLeft + myEvent.clientX; 12 y = document.body.scrollTop + myEvent.clientY; 13 oDiv.innerText = ‘X=‘ + x + ‘px;‘ + ‘Y=‘ + y + ‘px‘; 14 } 15 </script> 16 </body>
标签:
原文地址:http://www.cnblogs.com/baizn/p/4583851.html