- From: Anne van Kesteren <annevk@opera.com>
- Date: Tue, 28 Mar 2006 17:43:03 +0200
- To: "Web APIs WG (public)" <public-webapi@w3.org>
I just finished reading the thread
http://lists.w3.org/Archives/Public/public-webapi/2006Mar/thread.html#msg131
on the scope chain of onFoo events and the like. It seems that if we ever
are going to define a specification regarding "Everything you always
wanted to know about scripting and event handling in HTML and other
formats but were afraid to ask 1.0" (opted by Björn in #webapi) there are
some things that need to be defined:
(1) At what point is `onfoo` in `<x onfoo="return false">`
converted to an EventListener.
Some people have suggested that this should be live, e.g. doing
`x.setAttribute("onfoo", "return true")` should update the EventListener.
I think other people have argued for only converting it to an
EventListener at insertion time. So everytime you do `appendChild(x)`
where x has `x.setAttribute("onfoo","test()")` or when the document is
first loaded. Just doing `x.setAttribute()` if x is already in the
doucment would have no effect.
(2) Is `onfoo` in `<x onfoo="">` and `x.onfoo` the same?
As in, does updating one update the other and vice versa?
(3) How does `return false` or `return true` affect
`e.preventDefault()` for various values of
`e.type`?
(4) Does (3) solely apply to HTML or to other languages as
well?
(5) How to organize the specification?
Björn suggested to make the specification generic and just state the rules
on how languages could define onfoo attributes using the terminology
provided in the specification. The specification would have one,
normative, example of doing so. Namely how it applies to HTML. Of course,
only normative for implementations that do HTML...
(6) What to do with
`x.removeEventListener('foo', x.onfoo, false)`?
http://www.w3.org/mid/191127F9-AB91-482C-A141-6994322D7749@apple.com
outlines a solution to this problem although I think HTML should be
reworded to something else, more language neutral.
(7) What about `this`? In HTML form controls there is
some special behavior that should be dealt with...
http://whatwg.org/specs/web-apps/current-work/#event has some information
on the subject. (And on this subject in general.)
(8) What about attributes that are set on some elements
(like BODY) where the EventListener ends up
somewhere else (like Window)?
There is probably more...
--
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>
Received on Tuesday, 28 March 2006 15:43:12 UTC