- From: Hallvord R. M. Steen <hallvord@opera.com>
- Date: Thu, 28 Dec 2006 02:19:49 +0100
- To: public-webapi@w3.org
- Cc: mjs@apple.com, "Joao Eiras" <joao.eiras@gmail.com>
[Originally sent to www-dom, re-sent here on Björn's request. Including extra questions from joao.eiras@gmail.com] Hi, I have a request for clarification regarding the behaviour of capturing events. Opera has implemented capture of load events in the document, meaning that an event listener added with window.addEventListener('load', func, true); would run for every load event on IMG, SCRIPT, LINK rel="stylesheet" etc. in the document. This is also implemented in Safari but not supported in Mozilla until recently (see bug 331306 - [1]) While we think Opera's/Safari's implementation is correct according to the spec, a number of sites out there rely on Mozilla's bug and expect such an event listener to run only once. Mozilla developers have proposed a solution in bug 335251 [2]. They suggest that load events should not propagate to the "window" object in the browser's JavaScript environment. Pros of Mozilla's suggestion: - it's backwards compatible with existing content Cons: - we introduce an inconsistency to the whole event listener model that means for example these two will mean very different things.. window.addEventListener('click', func, true); // runs for any click event window.addEventListener('load', func, true); // runs once only It is not clear from the DOM Events spec how the "window" object fits into the capturing/bubbling. Could this be clarified? Which behaviour should be considered correct per the spec? João's questions: - is the window considered as a target in the entire event capturing and bubbling phases ? * in Gecko yes, in Opera no. - should events registered to the window have the document as target ? * both in Gecko and Opera yes. - should capturing of load events be supported too when registering a capturing event listener in the window ? * in Opera yes, in Gecko no as consequence of their 'fix' The ecmascript binding needs clarification in this regard. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=331306 [2] https://bugzilla.mozilla.org/show_bug.cgi?id=335251 Commentary: http://my.opera.com/hallvors/blog/2006/12/23/firechicken -- Hallvord R. M. Steen Core QA JavaScript tester, Opera Software http://www.opera.com/ Opera - simply the best Internet experience
Received on Thursday, 28 December 2006 01:19:27 UTC