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'); });
    });
  • .each loop and single on-assignement

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

     
    items.on('click', function() { console.log('Item clicked'); });
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: 7 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Chrome 61 on Windows
View result in a separate tab
Test name Executions per second
.each loop and multiple on-assignenements 17.1 Ops/sec
.each loop and single on-assignement 178.4 Ops/sec
no loop and .on-assignement on list 30.7 Ops/sec