Closures

by alekskorovin

HTML

<button>Button 1</button>

<button>Button 2</button>

<button>Button 3</button>

<button>Button 4</button>

JavaScript

var nodes = document.getElementsByTagName('button');
for (var i = 0; i < nodes.length; i++) {
   nodes[i].addEventListener('click', (function(i) {
       return function() {
           console.log('You clicked element #' + i);
       }
   })(i));
}