W3C home > Mailing lists > Public > www-svg@w3.org > August 2010

Fw: Should the base svg tag receive events?

From: Domenico Strazzullo <nst@dotuscomus.com>
Date: Tue, 24 Aug 2010 17:09:17 +0200
Message-ID: <44B06302E1FD4B5790882A9329E18484@RAPAX>
To: <www-svg@w3.org>

----- Original Message ----- 
From: "Domenico Strazzullo" <nst@dotuscomus.com>
To: "Boris Zbarsky" <bzbarsky@MIT.EDU>
Cc: <www-svg@w3.org>
Sent: Tuesday, August 24, 2010 1:15 PM
Subject: Re: Should the base svg tag receive events?


>
> ----- Original Message ----- 
> From: "Boris Zbarsky" <bzbarsky@MIT.EDU>
> To: "Domenico Strazzullo" <nst@dotuscomus.com>
> Cc: <www-svg@w3.org>
> Sent: Monday, August 23, 2010 7:51 AM
> Subject: Re: Should the base svg tag receive events?
>
>
>> On 8/13/10 1:08 PM, Domenico Strazzullo wrote:
>>> The currentTarget is the element
>>> on which the event was registered;
>>
>> Yes.
>>
>>> if that element is not suitable as
>>> target then the implementation ignores (rather than discard) the event.
>>
>> There is no concept of "not suitable as target" in DOM Events.  For a 
>> bubbling event, all ancestors of the event target will have the event 
>> bubble to them (unless stopPropagation is called).
>
> I buy this. Then remains the question of the agent's behavior in terms of
> determining the "suitability" of an element as to making the object (not
> target) of manipulations or operations defined in the handler. The 
> situation
> of "not suitable" can never arise because an element can always make the
> object of DOM manipulation, this independently of its status in respect of
> the event (event.target or event.currentTarget or no status) and because 
> of
> its status of inheriting descendant, and, independently of the fact that 
> the
> element:
>  a) was a child, or only child, displayed or not, of its container, 
> whether
> <svg> or <g> or other,
>  b) was appended dynamically to an otherwise empty container and not
> present
>
> at the time the event listener was registered.
>
> In the second situation the event could only be registered on the 
> container.
> Applications relying on this mechanism would break if the DOM spec is
> overridden.
>
> Equally important is the fact that, if I'm not wrong, SMIL allows an
> animation to be triggered by a pointer event, by registering a listener on
> any element whose ID is passed as reference.
>
> Could there be slight confusion for some between event registration and
> event dispatching, propagation and handling?
>
>>
>>> Note that in Opera, Firefox, Chrome and Safari, pointer events
>>> registered on an outmost svg container with no graphical elements
>>> (strictly empty), do trigger the event handler(s). In ASV they don't.
>>> It's interesting that both the currentTarget and the target properties
>>> designate the svg element, whereas to be strict only the currentTarget
>>> should
>>
>> Well, what would you expect the target to be in that case?
>
> I was reading the wording of the spec. I approve the <svg> and <g> 
> elements
> to be event.target.
>
>>
>>> To say that this would be the right way is arbitrary. A target cannot be
>>> the nearest ancestor in any case.
>>
>> Well... the target of a click event should be some EventTarget (vacuous 
>> statement there).  But for every click that happens, a click event needs 
>> to fire.  The only question is where to target it.  Once you decide what 
>> the target is, DOM Events takes over from there in terms of what event 
>> listeners fire.
>
> As you stated, there is no concept of "not suitable as target" in DOM
> Events. It remains that a target of an event cannot be anything else than
> itself, excluding any other possibility. That's where the notion of
> currentTarget comes in. As I said, I'm fine with the container assuming 
> the
> status of event.target where none of its children are displayed or in the
> absence of them. It will not affect the good functioning and predicted
> behavior of a program.
>
>>
>>> What you really need is to check where
>>> the capturing phase originates, is it the svg document or the Document
>>> object (as: parent, window)? I honestly don't know. Then you can check
>>> with the bubbling phase also
>>
>> The target is the same in both phases, by definition of the phases. It's 
>> an invariant of the given event dispatch.
>
> Yes. I still don't know the origin.
>
> Domenico
>
>
>>
>> -Boris
>>
> 
Received on Tuesday, 24 August 2010 15:09:53 GMT

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