2013-02-08 91 views
0

我嘗試獲取鼠標座標,爲一個事件(例如document.onmousemove),但是,我得到了不同的IE9值。我使用這個功能。獲取鼠標在Firefox中的座標18,IE 9,Chrome 24

function mouseCoords(event){ 
if(event.pageX || event.pageY){ 
    return {x:event.pageX, y:evevent.pageY}; 
} 
return { //IE 
    x:event.clientX + document.body.scrollLeft - document.body.clientLeft, 
    y:event.clientY + document.body.scrollTop - document.body.clientTop 
};} 

¿是否存在這三種瀏覽器的解決方案?

+0

'evevent'?和滾動位置,看看是什麼寫的[**這裏**](https://developer.mozilla.org/en/docs/DOM/window.scrollY#Notes) – 2013-02-08 21:23:16

+0

說這樣總是冒險的,但跨瀏覽器問題的解決方案稱爲jQuery :)它有一個非常好的事件對象抽象,它處理所有跨瀏覽器問題。這應該是一個答案,但他們看到jQuery,他們hatin' – naugtur 2013-02-08 21:43:33

回答

0

試試這個event.client.pageX

function mouseCoords(event){ 
if(event.client.pageX || event.client.pageY){ 
    return {x:event.client.pageX, y:evevent.client.pageY}; 
} 
return { //IE 
    x:evevent.clientX + document.body.scrollLeft - document.body.clientLeft, 
    y:evevent.clientY + document.body.scrollTop - document.body.clientTop 
};}