2012-02-01 5 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

Try этот код: 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

Смежные вопросы