2013-02-08 2 views
0

J'essaie d'obtenir les coordonnées de la souris, pour un événement (par exemple document.onmousemove), mais, j'obtiens des valeurs différentes pour IE9. J'utilise cette fonction.Obtenir les coordonnées de la souris dans 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 
};} 

¿Existe une solution pour ces trois navigateurs?

+0

'evevent'? et pour la position de défilement, regardez ce qui est écrit [** ici **] (https://developer.mozilla.org/en/docs/DOM/window.scrollY#Notes) –

+0

Il est toujours risqué de dire que sur SO, mais la solution à votre problème de navigateur croisé est appelée jQuery :) Il a une très belle abstraction d'objet d'événement qui gère tous les problèmes inter-navigateurs. Ce devrait être une réponse, mais ils voient jQuery, ils hatin ' – naugtur

Répondre

0

essayer cette 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 
};} 
Questions connexes