Проблема в том, что ваш обработчик события клика была анонимная функция, которая была положить в вызове фактической функции, которая выполняет работу (dodaj
) и эта функция не получает ссылку на событие - анонимный функция был.
Вы можете изменить анонимную функцию, чтобы она получает событие, а затем передает его dodaj
, как это:
prod[i].addEventListener("click", function(evt) {
dodaj(evt);
}, false);
Однако, поскольку эта функция «обертка» на самом деле не добавление какого-либо значения коды , вы можете/должны полностью удалить его и просто зарегистрировать действительную функцию обратного вызова в качестве обработчика события клика.
var prod = document.querySelectorAll("button");
function dodaj(e) {
console.log(e.target);
}
for(var i = 0; i < prod.length; i++) {
// When any button gets clicked, call the dodaj function
// directly. This is the function that will receive a
// reference to the click event.
prod[i].addEventListener("click", dodaj);
}
<button id="one">Click Me</button>
<button id="two">Click Me</button>
<button id="three">Click Me</button>
<button id="four">Click Me</button>
Try: прод [я] .addEventListener ("клик", функция (е) { dodaj (е); }, ложь); – Hobroker