MooTools Event Delegation

By  on  

One feature I heard Moo developers hinting at was the future addition of event delegation to the MooTools JavaScript library. MooTools Core Developer, Aaron Newton, wrote a post today about a plugin he's created that does just that.

From the article:

Event delegation is a common practice where by you attach an event listener to a parent object to monitor its children rather than attach events to all the children. It's far more efficient when you have numerous items on a page that you want to interact with.

I don't know of any concrete plans to incorporate this functionality into MooTools 1.3 but I assume they will. I strongly suggest MooTools developers read Aaron's article at Clientcide. I also recommend this article for jQuery users as John Resig recently boasted of this addition to jQuery.

Exciting times in the framework world!

Recent Features

Incredible Demos

  • By
    Introducing MooTools NextPrev

    One thing I love doing is duplicating OS functionalities. One of the things your OS allows you to do easily is move from one item to another. Most of the time you're simply trying to get to the next or the previous item.

  • By
    JavaScript Battery API

    Mozilla Aurora 11 was recently released with a bevy of new features. One of those great new features is their initial implementation of the Battery Status API. This simple API provides you information about the battery's current charge level, its...

Discussion

  1. John Resig, boasting!? GASP!

    Thanks for the news David! … I’ve never been a fan of delegated events/event handlers – do they even bubble/propogate?

  2. Let me add that event delegation is awesome when you’re continually adding DOM elements, perhaps via Ajax… I’m just not sure the performance benefits are as they seem.

  3. @James: I didn’t mean “boasted” in a bad way. It’s an awesome addition which should be boasted. You can find the answer to your question here:

    http://groups.google.com/group/mootools-users/browse_thread/thread/bbaf247948273868/db6a33205b71c89b?show_docid=db6a33205b71c89b

  4. Daniel

    James, believe me with even a couple hundred elements you can see a big difference. It takes a few more elements to make a browser like Chrome slow up, but IE folks will see the difference on smaller numbers of events like night and day.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!