2009-03-02 27 views

回答

6

來源:http://javascript.internet.com/page-details/mouse-coordinates.html

<form name="Show"> 
    X 
    <input type="text" name="MouseX" value="0" size="4"> 
    <br> 
    Y 
    <input type="text" name="MouseY" value="0" size="4"> 
    <br> 
</form> 

<script language="JavaScript"> 
    var IE = document.all ? true : false; 
    if (!IE) { 
     document.captureEvents(Event.MOUSEMOVE) 
    } 
    document.onmousemove = getMouseXY; 
    var tempX = 0; 
    var tempY = 0; 
    function getMouseXY(e) { 
     if (IE) {// grab the x-y pos.s if browser is IE 
      tempX = e.clientX + document.body.scrollLeft; 
      tempY = e.clientY + document.body.scrollTop; 
     } else {// grab the x-y pos.s if browser is NS 
      tempX = e.pageX; 
      tempY = e.pageY; 
     } 
     if (tempX < 0) { 
      tempX = 0; 
     } 
     if (tempY < 0) { 
      tempY = 0; 
     } 
     document.Show.MouseX.value = tempX; 
     document.Show.MouseY.value = tempY; 
     return true; 
    } 
</script> 
+0

修改了一下,但在m y測試:IE6,IE7和FF3 – 2009-03-03 17:33:12

0

這可以做到。剛剛搜索並獲得以下代碼

if (IE) { // grab the x-y pos.s if browser is IE 
    tempX = event.clientX + document.body.scrollLeft; 
    tempY = event.clientY + document.body.scrollTop; 
} 
1

Here是具有示範緊湊的功能,它返回值與.X座標和.Y:

function mouseCoords(ev){ 
    // from http://www.webreference.com/programming/javascript/mk/column2/ 
    if(ev.pageX || ev.pageY){ 
     return {x:ev.pageX, y:ev.pageY}; 
    } 
    return { 
     x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, 
     y:ev.clientY + document.body.scrollTop - document.body.clientTop 
    }; 
} 

(我發現怪異模式是一個很好的JavaScript智慧資源Here是功能的一些背景,以防你想深入挖掘。)