2012-02-01 114 views
0

我创建了一个小函数来获取鼠标坐标在div中,但不知何故,它不工作。我彻底检查了我的功能,但没有发现错误。在javascript中的鼠标坐标?

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title></title> 
    <script type="text/javascript"> 
    function SetValues() 
    { 
    var s = "X:" + window.event.clientX + " Y:" + window.event.clientY ; 
    document.getElementById('divCoord').innerHTML = s; 
    } 
    </script> 
    </head> 
    <body onmousemove=SetValues()> 
    <div id="divCoord"></div> 
    </body> 
    </html> 

回答

0

window.event.clientX & window.event.clientY

尝试:

$(document).ready(function(e) { 
    $('body').live('mousemove', function(e) { 
     alert('x: ' + window.event.clientX + ', y: ' + window.event.clientY); 
    }) 
}); 
1

window.event属性仅出现在Internet Explorer中,只有在一些版本我想。事实上,您正在尝试的整个操作需要一些相当先进的跨浏览器编码。

我建议你考虑使用标准化事件的JavaScript框架,比如jQuery。

使用jQuery,这将在所有的浏览器:

$(document).mousemove(function(e) { 
    $('#divCoord').html('X:' + e.pageX + ' Y:' + e.pageY); 
}); 
1

试试这个代码: JS

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 = event.clientX + document.body.scrollLeft; 
    tempY = event.clientY + document.body.scrollTop; 
    } 
    else { // grab the x-y pos.s if browser is NS 
    tempX = e.pageX; 
    tempY = e.pageY; 
    } 

HTML

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

Source