А этот forEach.call просто копирует i в кложу (внутрь другой функции). Геморрой, просто индексируй элементы и затем в любой момент получишь его нумер:
for(var i=0, el, el=elems[i];i++)
el.setAttribute('data-index',i);
parentOfElements.addEventListener('click',function(e){
if(this!==e.target) /* щелкнули по самому отцу */
console.log(e.target.getAttribute('data-index'));
});
Это же html.