- From: Garrett Smith <dhtmlkitchen@gmail.com>
- Date: Thu, 24 Sep 2009 01:30:17 -0700
- To: Mike Wilson <mikewse@hotmail.com>
- Cc: Lachlan Hunt <lachlan.hunt@lachy.id.au>, public-webapps <public-webapps@w3.org>
On Thu, Sep 24, 2009 at 12:02 AM, Mike Wilson <mikewse@hotmail.com> wrote: > Yes, the base for event delegation is certainly something > like that. I just wanted to make clear that the main reason > for adding this functionality (IMO) is event delegation. > I'll let event delegation library creators chime in on the > details on what is needed for making really efficient > behavioural/delegation implementations, and judge the merits > of various optimizations. There has f ex already been mention > of caching "parsed" selectors. > The benefit to that is that the selector text is parsed once, so something like:- document.onmouseover = function(ev) { if(ev.target.matchesSelector(".infotip")) { /*...*/ } }; could probably be made more efficient as:- var selector = QuerySelector.create(".infotip"); document.onmouseover = function(ev) { if(selector.matches(ev.target)) { /*...*/ } }; The type of context where a QuerySelector object would be useful are described above. That could be abstracted to a factory pattern that uses selector to match nodes in a delegated event and lazily construct a wrapper. QuerySelector could be extended to have properties: readonly attribute boolean valid StaticNodeList match(in HTMLElement contextNode) Garrett
Received on Thursday, 24 September 2009 08:30:59 UTC