jQuery body delegate vs document delegate

Benchmark created by Cary Landholt on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<ul id="myList">
</ul>

<script>
  var listArray = [],
      tpl = '<li><input type="checkbox" name="check_%i" value="%i" /></li>',
      tplFn = function(value) {
    return tpl.replace(/%i/g, value);
      },
      i;
  
  // loop and create 1000 entries
  for (i = 0; i <= 1000; i++) {
   listArray.push(tFpln(i));
  }
  
  
  $('#myList').append(listArray.join(''));
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Delegate with document
$(document).delegate('input:checkbox', 'click', $.noop);
ready
Delegate with Id
$('#myList').delegate('input:checkbox', 'click', $.noop);
ready
Delegate with document.body
$(document.body).delegate('input:checkbox', 'click', $.noop);
ready
Delegate with jQuery body
$('body').delegate('input:checkbox', 'click', $.noop);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.