- From: Marcos Caceres <w3c@marcosc.com>
- Date: Wed, 29 Feb 2012 15:05:19 +0000
- To: Anne van Kesteren <annevk@opera.com>
- Cc: Jonas Sicking <jonas@sicking.cc>, www-dom@w3.org
On Wednesday, February 29, 2012 at 2:41 PM, Anne van Kesteren wrote:
> On Wed, 29 Feb 2012 15:34:22 +0100, Marcos Caceres <w3c@marcosc.com (mailto:w3c@marcosc.com)> wrote:
> > It's exactly the same as we have now. It's just a tree with no nodes
> > (i.e., they don't participate in a tree, initially at least). This works
> > fine in the example I gave, the only difference being that one would not
> > need to create a fake HTML element to get the desired behavior.
>
>
>
> That is not what Jonas was proposing and what you said "It would be great
> to see something like the above." about.
This is true, but I said "something like". I was hoping other people would jump into the discussion. I presented the use case I have (and what I have used for a number of years). All I know is that it would be nice, for the use cases I have (and from the little evidence I gathered from the Web), to either:
1. Have an object inherits EventTarget.
2. Have a simple object that implements event target.
For 1, I don't know what that would look like, but something like ECMAScript's Object.create() would be a nice pattern:
var et = EventTarget.create(someObject);
For 2, EventTarget with no constructor would be nice enough:
var et = new EventTarget();
…this could then be used like:
function MyThingo(){
var et = new EventTarget();
this.on = function(event, cb){
et.addEventListener(évent, cb);
}
… and so on...
}
var thing = new MyThingo();
thing.on("event", function(){…teehhooo…})
> Giving EventTarget() a
> constructor with no arguments could work, but what is the advantage over
> simply creating an element
You are right, there isn't a practical/technical advantage to creating an element; but it "feels" wrong to create a fake HTML element to achieve something so fundamental to the platform (hence, it is relegating EventTarget as a second class citizen… this is a shame, because custom events are a first class citizen, in that they can be constructed by developers).
> or some other object that inherits from it?
>
If this ("other object that inherits from it") can be done today, I would like to know how.
--
Marcos Caceres
Received on Wednesday, 29 February 2012 15:05:55 UTC