I'm trying to use an "HTML Box" in Google Sites to publish a canvas-based 
program that needs to find the mouse position relative to the canvas.  I'm 
posting here because the Google Sites HTML Box feature seems to use Caja as 
the canvas gets embedded in a tag named "<caja-v-body>" when I view the 
page source in the browser.  The problem is that I can't find a way to 
determine the offset to the canvas when my code is embedded in an HTML Box, 
so I am therefore unable to compute the mouse position relative to the 
canvas.  The closest I've been able to get is to use code like this:

        var obj = canvas;
        var top = 0;
        var left = 0;
        if (obj.offsetParent) {
          do {
            left += obj.offsetLeft;
            top += obj.offsetTop;
          } while (obj = obj.offsetParent);
        }

to try and add up the list of offsets.  However, this code only seems to 
chain back two levels and therefore can't determine all the offsetting 
elements on the complete page.  I've also tried numerous other approaches 
to find the offset to the canvas, such as calling canvas.
getBoundingClientRect() to get the offset, but this also fails to account for 
all the active offsets.  Note: this code works fine when it's not embedded 
in an HTML Box.

Not being able to get the event position relative to the canvas makes it 
rather hard to write any kind of mouse event code, so I'm hoping there is 
some type of workaround I can use.

Wayne

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Google Caja Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to