Event Delegation in Jquery

Event handling is the basic need to develop Rich Internet Web Applications and that will become very tough with elements added to DOM dynamically.

Jquery gives simple solution to do event binding for dynamic elements under a DOM object.

The .on() method provides several useful features.

Simple Event Binding:

$( "p" ).on( "click", function() {
    console.log( "was clicked" );
});

Many Events but only one Event handler:

Suppose you want to trigger the same event whenever the mouse hovers over or leaves the selected elements.

Here we need to use "mouseenter mouseleave"

$('div').on('mouseenter mouseleave', function() {
    console.log('mouse hovered over or left a div');
});

Many Events and Handlers:

        Suppose that instead you want different event handlers for when the mouse enters and leaves an element.

 if you want to show and hide a tooltip on hover, you would use this.

.on() accepts an object containing multiple events and handlers.

$( "div" ).on({
    mouseenter: function() {
        console.log( "hovered over a div" );
    },
    mouseleave: function() {
        console.log( "mouse left a div" );
    },
    click: function() {
        console.log( "clicked on a div" );
    }
});

Event Delegation:

$( "body" ).on( "click", "p", function() {
  alert( $( this ).text() );
});

It will be executed for all the p tags in body tag no matter if you add few dynamically.

Ref: http://api.jquery.com/on/

Posted On 05 May 2011 By MicroPyramid


Need any Help in your Project?Let's Talk

Latest Comments
Related Articles
Image Cropping in Jquery (with Jcrop)

We are having many image cropping plugins developed in jquery that are being used to crop an image. Jcrop is one of the plugins developed ...

Continue Reading...
Google Analytics Graphs to your Dashboard in Python Web Frameworks

Ecommerce solution providers like OpenCart, Magento Provide extensions to see Google analytics data in their own dashboards as graphs. whereas there are no such plugins ...

Continue Reading...
jQuery mouse events and touch events

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler ...

Continue Reading...
open source packages

Subscribe To our news letter

Subscribe and Stay Updated about our Webinars, news and articles on Django, Python, Machine Learning, Amazon Web Services, DevOps, Salesforce, ReactJS, AngularJS, React Native.
* We don't provide your email contact details to any third parties