HTML Preparation code:
x
 
1
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
2
3
<style>
4
  #container { visibility: hidden; }
5
</style>
6
7
<div id="container">
8
</div>
Script Preparation code:
 
var container = $('#container')
var itemCount = 300;
for (var i = 0; i < itemCount; i++) {
  container.append('<div>Item ' + i + '</div>');
}
var items = container.children();
Tests:
  • .each loop and multiple on-assignenements

     
    items.each(function(index,item) {
      var $item = $(item);
      $item.on('click', function() { console.log('Item clicked'); });
      $item.on('hover', function() { console.log('Item hovered'); });
      $item.on('mouseenter', function() { console.log('Item mouseentered'); });
    });
    items.each(function(index,item) {
      var $item = $(item);
      $item.off('click');
      $item.off('hover');
      $item.off('mouseenter');
    });
  • .each loop and single on-assignement

     
    items.each(function(index,item) {
      var $item = $(item);
      $item.on('click', function() { console.log('Item clicked'); });
    });
    items.each(function(index,item) {
      var $item = $(item);
      $item.off('click');
    });
  • no loop and .on-assignement on list

     
    items.on('click', function() { console.log('Item clicked'); });
    items.off('click');
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    .each loop and multiple on-assignenements
    .each loop and single on-assignement
    no loop and .on-assignement on list

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 6 years ago)
Mozilla/5.0 (X11; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0
Firefox 63 on Linux
View result in a separate tab
Test name Executions per second
.each loop and multiple on-assignenements 126.9 Ops/sec
.each loop and single on-assignement 345.0 Ops/sec
no loop and .on-assignement on list 361.5 Ops/sec