python ruby-programming-language Smalltalk Vue.js Knockoutjs TypeScript JavaScript, OOPs JavaScript Angular 8,7,6,5,4 and 2 Interview Questions and Answers Angular 8,7,6,5,4 and 2 Interview Questions and Answers Angular 4 Angular 2 AngularJs 1.x NodeJs Perl Programming R Programming RequireJs Rust Programming Backbonejs closure programming language go-programming-language kotlin-programming-language
auto refresh div in setTimeout jQuery

jQuery bind() vs live() vs delegate() vs on() methods

I have seen a bit of confusion from JavaScript developers about the real differences on bind(), live(), delegate(), and on() methods and when they should be use or not use.

                    I.            The .bind() method will not attach the events which elements are bind after the DOM fully loaded.
                  II.            The .live() and delegate() methods attach the events which are dynamically added in future.
                III.            Only difference between .live() and delegate(), the .live() is not working for chaining elements but delegate() will work for chaining elements.

For example,

$( ‘.menu li a’ ).bind( ‘click’, function( e ) {} );
$( ‘.menu li a’).click( function( e ) {} );
$( ‘.menu li a’ ).live( ‘click’, function( e ) {} );
$(‘.menu’).delegate( "li a", "click", function( e ) {} );

Replacement of All above,

$('#container-ids').on('click', '.element', function() {  });

The .bind() method register an event type and handler directly to the DOM element and the .live() method attaches the event handler to the root level of the document.

The .delegate () method behave similar like .live () and only difference between .live() and delegate(), the .live() is not working for chaining elements but delegate() will work for chaining elements.


In the jQuery version 1.7, the .on() method is the new replacement for methods bind(), live() and .delegate().

The jQuery .on() method attaches one or more than one event handlers for the selected elements and child elements.


Actually, this method brings a lot of consistency to the API and we all are recommending that you use .on() method. It is very useful and simple to use in the jQuery projects.


I hope this post is helpfully to you! Thank you!

ANIL SINGH

Hi there! Welcome to my blog. My name is Anil Singh. I'm a author of this blog. For more detail about me, kindly refer to this link..
My Blogs - http://code-sample.com and http://code-sample.xyz
My Books - Interview Questions and Answers Books- Get Your Book in 15+ Digital Stores Worldwide..

You Might Also Like
www.code-sample.com/. Powered by Blogger.
ASK Questions