views:

59

answers:

2

Is it cross-browser to catch the mouse coordinates relative to a div box with this:

pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("thebox").offsetLeft;
pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("thebox").offsetTop;
+1  A: 

this works for me; change to your framework:

function assignPosition(element,event) {
cX=event.clientX; cY=event.clientY;
if ($$(element).pageYOffset)
   {
   rX=$$(element).pageXOffset;
   rY=$$(element).pageYOffset;
   }
if (document.body)
   {
   rX=document.body.scrollLeft;
   rY=document.body.scrollTop;
   }
if (document.documentElement && document.documentElement.scrollTop)
   {
   rX=document.documentElement.scrollLeft;
   rY=document.documentElement.scrollTop;
   }
cX+=rX;
cY+=rY;
$$(element).style.left=cX+"px";
$$(element).style.top=cY+"px";
}
dusoft
@dusoft: Good stuff +1. Btw, which browser have you tested with it?
o.k.w
tested in Firefox, I Explorer 6, 7
dusoft
A: 

In case you do not have all/most of the browser types/versions to test on, you might take a look at this:
W3C DOM Compatibility - Events
Linked from above: W3C DOM Compatibility - CSS Object Model View

Gives you an idea of how compatible the codes are.

o.k.w