[whatwg] Mechanism to find available events

Ian Hickson ian at hixie.ch
Fri Apr 29 16:16:57 PDT 2011

On Wed, 29 Dec 2010, Jorge wrote:
> On 29/12/2010, at 08:27, Ian Hickson wrote:
> > On Mon, 20 Sep 2010, Biju wrote:
> >> 
> >> We need
> >> HTMLNode.getSupportedEvents()  ==> returns a text array of event names
> >> HTMLNode.isSupportedEvent(eventName)  ==> returns true/false
> >> 
> >> Many times in particular version of browser we dont know whether an
> >> HTMLNode/window support particular event.
> >> Or what are the alternate events available, so that we can refer some
> >> document or do some test to find how it can be used.
> >> So I wish we had above methods available.
> > 
> > What do you mean by "supports an event"? You can dispatch any event you 
> > want to any event target.
> It's not you, it's whether *the*browser* dispatches it. Say, 
> oncontextmenu : "The code specified by this attribute is called when the 
> associated element is right-clicked or when the mouse button is held 
> down long enough to generate a contextual menu."
> How could your program detect, unequivocally, that the browser it's 
> running in would dispatch an oncontextmenu when "the element is 
> right-clicked or when the mouse button is held down long enough to 
> generate a contextual menu" ?
> We need a mechanism to detect accurately the features of the browser our 
> code's running in, without relying to UA sniffing madness.

No such mechanism can exist without actually using the feature, because 
there's no way to guarantee that a browser will accurately report what it 
supports. Every time we've had such a feature (e.g. DOM hasFeature()) 
vendors have ended up returning inaccurate values.

On Wed, 29 Dec 2010, Garrett Smith wrote:
> However, how can a program determine if a particular event is generated 
> by the browser and fired at a particular object? The `("onhashchange" in 
> window)` test should theoretically work, but as mentioned, that isn't 
> interoperable at this point.

Neither is a mechanism to find out if an event is going to be fired. :-)

Let's get what we have already got implemented correctly before adding new 
features that do more or less the same thing.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list