Parece que Mozilla firefox 3.x tiene un error al escuchar el evento "ondrag". El objeto de evento no informa la posición del objeto que se está arrastrando, clientX, clientY y otras compensaciones de pantalla están todas configuradas en cero. Esto es bastante problemático ya que quería hacer un elemento proxy basado en el elemento que se está arrastrando y, por supuesto, usar clientX y clientY para ajustar su posición.¿Cómo hago que clientX y clientY trabajen dentro de mi controlador de eventos "drag" en Firefox?
Sé que hay cosas geniales, como setDragImage en HTML5, pero quiero proporcionar una abstracción genérica para DD nativo entre los navegadores.
código defectuoso:
document.addEventListener('drag', function(e) {
console.log(e.clientX); // always Zero
}, false);
Nota: Este problema no ocurre en otros eventos (dragstart, dragover) y los eventos mousemove no puede ser capturado mientras se arrastra algo.
Por favor ayuda!
+1 por el comentario que dejó. Puedes usar la respuesta proporcionada por José. También intentaré descubrir algo relacionado con esto, tan pronto como tenga algo de tiempo. – Kirtan
Encontré una solución, coloqué un oyente en el evento "dragover" a nivel de documento, ahora obtengo las propiedades X e Y correctas que puedo exponer a través de un objeto compartido globalmente. –
El mismo error (en mi opinión) está presente a través de Firefox 10. Lo mismo ocurre con pageX y otras propiedades de coordenadas. Si no se supone que es parte de este evento, debe estar indefinido, no cero ¿no? Esto es muy molestoLamento escuchar que tiene que usar el evento 'dragover' como un truco pero al menos eso sí funciona –