W3C home > Mailing lists > Public > www-svg@w3.org > July 2000

Re: Behavior of overlapping svg elements and mouseover events - pointer-events

From: Jon Ferraiolo <jferraio@Adobe.COM>
Date: Mon, 10 Jul 2000 08:13:55 -0700
Message-Id: <200007101510.IAA01431@mail-345.corp.Adobe.COM>
To: "Dany Bouchard" <db@dbxgeomatics.com>
Cc: <www-svg@w3.org>
Dany,
The topmost object receives the event first, then next in line would be the
ancestors (e.g., any 'g' or 'svg' elements containing the object). Objects
underneath the topmost object do not receive events.

You can make the topmost object such that it doesn't become an event target by
setting the 'pointer-events' property to 'none', in which case the object
underneath the topmost object will receive the event. (Unfortunately, I don't
believe that 'pointer-events' is working with the current release of the Adobe
SVG Viewer.)

There are some SVG DOM calls that might come in handy, such as
getIntersectionList() on SVGSVGElement (the 'svg' element). This will give you
the list of elements which intersect a given rectangle. With this approach,
you
could put your onmouseover on a container (e.g., a 'g' or 'svg') and then get
the list of elements which are at the same location as the pointer, no matter
whether obscured or not. (Again, unfortunately, I don't believe that the
method
is working with the current release of the Adobe SVG Viewer.)

Jon Ferraiolo
SVG Editor
Adobe Systems Incorporated


At 09:12 PM 7/9/00 -0400, Dany Bouchard wrote: 
>
> I would like to know the correct user agent behavior if the following
occurs:
>  
> I have two SVG elements that overlap exactly (same objects), the lowest
> having a mouseover event.
> Both elements have fills so that the lowest one is hidden under the top-one.
> The lowest svg element has a mouseover event. 
> Should the event trigger onmouseover even if the object is not really shown
> on the screen ? To me It would make sense if the event would trigger.
> Is there any way to ensure that the event triggers (using pointer-events
> property) event if the object is not the topmost item at the location (x,y)
> of the mouseover ? For instance, should pointer-events="all" or
> pointer-events="fillStroke" do it ?
> The reason I am asking this is that after doing this test with the Adobe
> plug-in,  I discovered that the event does not trigger (because the other
> object on top). 
> Again I may be asking for something that requires the implementation of the
> pointer-events property.
>  
> Thanks in advance.
>  
> Dany Bouchard
> DBx Geomatics
> 38 de l'Orbite
> Hull, Québec
> Canada
> J9A 3C7
> Téléphone/Telephone: 819.743.3870
> Télécopieur/Fax: 819.775.3264
> Courrier électronique/Email: <mailto:db@dbxgeomatics.com>db@dbxgeomatics.com
> Page Web/Web site:
> <http://www.dbxgeomatics.com/home.asp>http://www.dbxgeomatics.com/home.asp
> Vitrine technologique SVG / SVG Technology Preview:
> <http://www.dbxgeomatics.com/svg.asp>http://www.dbxgeomatics.com/svg.asp
Received on Monday, 10 July 2000 11:15:20 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:19 GMT