5

Parece que no puedo encontrar una forma de obtener las coordenadas del evento en IE8, solo desencadena errores como ... pageX undefined, clientX undefined etc. Mientras funciona, encuentra en otros navegadores.Javascript: IE8 coordina el evento

Esto es lo que yo estaba tratando de hacer:

document.onmousemove=setcoord; 

function setcoord(e){ 
    var xxcoord = e.pageX||(e.clientX+document.body.scrollLeft); 
    var yycoord = e.pageY||(e.clientY+document.body.scrollTop); 
} 

¿Hay alguna solución para conseguir que la posición del ratón ..

Respuesta

7

El siguiente parece funcionar?. No estoy seguro de que sea la forma correcta de hacerlo:

var x=event.clientX; 
var y=event.clientY; 
+2

Esto es correcto. Explicación: antes de IE 9, Microsoft no implementó el modelo de eventos W3 DOM. En su lugar, usaron un modelo de evento patentado: los oyentes del evento no reciben ningún argumento; cualquier propiedad relacionada con un evento se define en el objeto global 'event'. Una solución genérica es agregar 'e = e || window.event; 'en la parte superior del detector de eventos. –

+2

Gracias, creo que lo entiendo ahora, todavía hay un problema con eso, que es que e.clientX no tiene en cuenta el desplazamiento y document.body.scrollLeft tampoco parece funcionar en IE ... Quiero decir, si Me desplazo por la ventana, no me da los coords absolutos, sino que está relacionado con la ventana gráfica. – Anonymous

+0

aight, documentElement parece funcionar. :) EDITAR: ** PERO ** no funciona en Chrome ahora ... oh no ... – Anonymous