標籤:
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>
javascript擷取滑鼠座標