2012-02-01 9 views
0

J'ai créé une petite fonction pour obtenir les coordonnées de la souris dans div mais de toute façon cela ne fonctionne pas. J'ai vérifié ma fonction à fond mais je n'ai pas trouvé le bug.les coordonnées de la souris en 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> 

Répondre

0

window.event.clientX & window.event.clientY

essayer:

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

La window.event propriété est présente dans Internet Explorer, et seulement dans certaines versions, je pense. En fait, toute l'opération que vous essayez de faire nécessite un codage cross-browser assez avancé.

Je vous suggère d'envisager d'utiliser un framework JavaScript qui normalise les événements, tels que jQuery.

En utilisant jQuery, et cela fonctionnera dans tous les navigateurs:

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

Essayez ce code: 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

Questions connexes