- From: Ian Hickson <ian@hixie.ch>
- Date: Tue, 8 Feb 2005 15:39:25 +0000 (UTC)
- To: Cameron McCormack <cam-www-svg@aka.mcc.id.au>
- Cc: www-svg@w3.org
On Thu, 20 Jan 2005, Cameron McCormack wrote:
>
> Say you had this document:
>
> <svg ...>
> <xbl:xbl>
> <xbl:definition element="ex:test1">
> <xbl:template>
> <rect width="100" height="100"/>
> <ex:test2/>
> </xbl:template>
> </xbl:definition>
> <xbl:definition element="ex:test2">
> <xbl:template>
> <circle cx="100" cy="100" r="50"/>
> </xbl:template>
> </xbl:definition>
> </xbl:xbl>
>
> <ex:test1/>
> </svg>
>
> and the mouse was moved from over the circle to over the rect.
> Would I be right in guessing that these are the events that should be
> fired?
>
> phase type target currentTarget
>
> CAPTURING mouseout ex:test2 ex:test1
> CAPTURING mouseout circle ex:test2
> AT_TARGET mouseout circle circle
> BUBBLING mouseout circle ex:test2
> BUBBLING mouseout ex:test2 ex:test1
> CAPTURING mouseover rect ex:test1
> AT_TARGET mouseover rect rect
> BUBBLING mouseover rect ex:test1
No, the retargetting/stopping happens before you hit the bound element. If
you move the mouse from over the circle to over the rect you get:
CAPTURING mouseout ex:test2 ex:test2
AT_TARGET mouseout circle circle
BUBBLING mouseout ex:test2 ex:test2
AT_TARGET mouseover rect rect
Note that the target is also changed (you can get to the real target by
looking up the originalEvent object) -- it is possible to tell that the
event was redirected without looking at originalEvent because the target
and currentTarget will be the same without the phase being AT_TARGET.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 8 February 2005 15:39:31 UTC