No, the third argument to addEventListener is useCapture . See MDN for more details.
But you can use:
for( var i = 0; i < items.length; i++ ){ (function(i){ items[i].addEventListener('click', function(event) { alert( i ); }, false); })(i); }
or
var handler = function(event) { var i = items.indexOf(this); alert( i ); }; for( var i = 0; i < items.length; i++ ){ items[i].addEventListener('click', handler, false); }
The first creates a new event handler for each element, so it needs more memory. The second repeats the same event listener, but uses indexOf , so it is slower.
Orientol
source share