I'm implementing a visual editor where users are allowed to drag images onto the page, and drag other images inside these previously dragged images (kind of 'add another image').
I basically only need the mouse coordinates during the drag: the element hiliting etc... I do with custom functions based on these coordinates.
The problem is, while on Webkit I can get them with event.clientX and event.clientY, under Firefox (v.16.0.1 OSX) their 'counterparts' pageX and pageY are always zero in my experience during a drag.
However, they are not zero during mouseMove.
Smart as I am, I did a
$(document).on("mouseMove",function(e){__PX=e.pageX,__PY=e.pageY});
to always have the latest pageX and pageY so I could use them inside the onDrag handler but...
the OnMouseMove does not fire during a Drag And Drop operation :( :(
Is there any way I can get the Mouse X and Y during a DnD? I'd like not to clutter my code too much, as it already works on different platforms but not on Firefox.
I found the answer here.
I've solved it like this:
(___NODRAGEVENT = $.browser.mozilla) && $(document).on("dragover", function(e) {
e = e.originalEvent;
___PAGEX = e.clientX || e.pageX;
___PAGEY = e.clientY || e.pageY;
});
I'm really surprised and confused that onDragOver does include clientX and clientY. Why don't they populate them on the drag event?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With