jQuery .live() vs .delegate() vs .on()

JavaScript performance comparison

Revision 26 of this test case created by pcmanik

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<div id="context">
  <p>
    Some paragraph
  </p>
</div>

Preparation code output

Some paragraph

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
.click()
$('p').click($.noop);
pending…
.bind() with context
$('p', '#context').bind('click', $.noop);
pending…
.delegate()
$('#context').delegate('p', 'click', $.noop);
pending…
.delegate() on document
$(document).delegate('p', 'click', $.noop);
pending…
.on()
$('#context').on('click', 'p', $.noop);
pending…
.on() on document
$(document).on('click', 'p', $.noop);
pending…
.live() on p
$('p').live('click',$.noop);
pending…
.bind() without context
$('p').bind('click', $.noop);
pending…
direct .on()
$('p').on('click', $.noop);
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment