The Lodge is members-only design/dev videos and Office Hours.

Next Office Hours Session: "Implementing an SVG Icon System" Nov 30 - 6:00 PM Eastern

Smarter Event Binding

Last updated on:
$("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).

Reference URL


  1. 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. webster
    Permalink to comment#

    “live” is deprected, use “on” instead

  3. shikhar srivastava
    Permalink to comment#

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

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";

There's a whole bunch of content on CSS-Tricks.

Search for Stuff   •   Browse the Archives

Get the Newsletter ... or get the RSS feed