Re: [DOM3 Events] optional capture argument in add/removeEventListener [ISSUE-134]

Hi, Olli-

Olli Pettay wrote (on 9/29/10 1:04 PM):
> On 09/24/2010 11:48 PM, Jonas Sicking wrote:
>> On Fri, Sep 24, 2010 at 12:17 PM, Sergey Ilinskywrote:
>>> There are modern browsers that made 3rd argument in the
>>> addEventListener/removeEventListener be optional. Is this a legal step?
>>> If I understand correctly, specification requires 3rd argument to be
>>> passed,  thus the new behaviour not backed by the change
>>> in specification only destabilizes web as a platform.
>>> Personally, I like the behaviour, but cannot use it as long as not every
>>> browser does that.
>> Currently it does not appear to be legal based on my reading of the
>> latest editor drafts. However I would love to change that. It wouldn't
>> be a big change in the spec, just stick [optional] in front of the
>> useCapture argument, and it should be no problem as far as backwards
>> compatibility goes. And at least in gecko it would be trivial to
>> implement.
>> The only problem I can think of is that it means that people might
>> write pages that only works in newer browsers, however that is true
>> for any new feature added.
> I don't support this kind of change.
> It happens way too often that people don't think about the phase, and
> that leads to bugs.

While I don't dismiss the merit of making methods logical and 
consistent, and as pedagogical as possible, I think in this instance it 
would be more intuitive and convenient to make the useCapture argument 
optional for the majority of users.

I agree that understanding of the event propagation model is important 
to developers, but I don't know how much the presence of a somewhat 
anonymous boolean does to promote that knowledge.

If we change this, I'd assume the default value would be 'false'.

As Jonas says, any new feature won't work in older implementations 
(without a script library shim), so I'm not overly concerned there.

-Doug Schepers
W3C Team Contact, SVG and WebApps WGs

Received on Thursday, 30 September 2010 05:06:49 UTC