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

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

  • By
    CSS 3D Folding Animation

    Google Plus provides loads of inspiration for front-end developers, especially when it comes to the CSS and JavaScript wonders they create. Last year I duplicated their incredible PhotoStack effect with both MooTools and pure CSS; this time I'm going to duplicate...

Incredible Demos

  • By
    Introducing LazyLoad 2.0

    While improvements in browsers means more cool APIs for us to play with, it also means we need to maintain existing code.  With Firefox 4's release came news that my MooTools LazyLoad plugin was not intercepting image loading -- the images were loading regardless of...

  • By
    CSS pointer-events

    The responsibilities taken on by CSS seems to be increasingly blurring with JavaScript. Consider the -webkit-touch-callout CSS property, which prevents iOS's link dialog menu when you tap and hold a clickable element. The pointer-events property is even more JavaScript-like, preventing: click actions from doing...

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!