xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André de Brito <andre.br...@evolve.pt>
Subject Mouse EventListener on SVG group elements
Date Fri, 11 Feb 2011 11:41:18 GMT

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?


View raw message