Smarter Event Binding

$("p").live("click", function(){
      $(this).css("color", "red");
});

The reason this is smarter is because there are likely many p elements on the page. If there were, say, 10 of them, traditional click event binding would require 10 handlers. The live function only requires one, reducing memory needed by the browser. Then imagine compounding the issue by 100 (for example, a table with 1000 cells with hover events).

Additionally, using the live function does not require events to be re-bound when additional elements are added to the page (like via AJAX).

Comments

  1. User Avatar
    Brian
    Permalink to comment#

    Just a heads up that .live() is now depreciated in jQuery 1.7 and up. Instead you need to use the .on() method instead.

  2. User Avatar
    webster
    Permalink to comment#

    “live” is deprected, use “on” instead

  3. User Avatar
    shikhar srivastava
    Permalink to comment#

    Hey people this live method is deprecated officially by jQuery.
    Now we use .on() method to replicate .live() functionality.

Submit a Comment

Posting Code

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.

icon-anchoricon-closeicon-emailicon-linkicon-logo-staricon-menuicon-nav-guideicon-searchicon-staricon-tag