Re: Mouse EventListener on SVG group elements

[email protected]
Newsgroups gmane.text.xml.batik.user
Message-ID <OF5ACEF297.F044190A-ON85257839.007C4D5D-85257839.007CBB06@knotes.kodak.com>
Hi Andre,

        I think the problem is that you need to tell the Canvas to be
interactive/dynamic.  If the Canvas looks at the document and doesn't
see any dynamic content it uses a quicker lower memory build that doesn't
support event handlers at all.

        Check out FAQ 3.2:
                http://xmlgraphics.apache.org/batik/faq.html

        I had no idea what the problem was for quite some time
since the difference isn't between clicking on a 'g' or an 'a' element
it's between a document that has 'a' element or a document that doesn't
have an 'a' element.

André de Brito <[email protected]> wrote on 02/16/2011 04:48:44 PM:

> I'm using batik to display SVG files on a JSVGCanvas and I'm trying 
> to respond to mouse click events over SVG elements with tags <a> 
> (SVGOMAElement) and <g> (SVGOMGElement).
> Here is the code I'm using to add the event listener to a Node:
> 
> if ((no.getNodeName().equalsIgnoreCase("a")) || (no.getNodeName
> ().equalsIgnoreCase("g"))) {
>     EventTarget etr = (EventTarget) no;
>     etr.addEventListener(SVGConstants.SVG_EVENT_CLICK, new 
EventListener() {
>                     public void handleEvent(Event evt) {
>                         Log.debug("HANDLE EVENT");
>                     }
>     }, false);
> 
> What happens is that the listener is correcly called when an <a> 
> element is clicked, but nothing happens when a <g> element is clicked!
> I debuged the code above and verified that the "click" listener is 
> being added to the both node's bubblingListeners table 
> (etr->eventSupport->bubblingListeners). However, I noticed that the 
> <a> elements seem to have two other (default) listeners - for events
> "mouseout" and "mouseover" - which are not present on the <g> 
> elements. I don't believe this is the cause, but ...
> 
> Any ideas on what could be causing this behaviour?

Thomas DeWeese | CDG Advanced Development | 
Eastman Kodak Company | 343 State Street | Rochester, NY 14650-0128 | 
[email protected] | 585 724-0294 | 
www.kodak.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.