Показать сообщение отдельно
  #2 (permalink)  
Старый 07.05.2018, 14:43
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

let butShag = document.querySelectorAll('.butShag');

for (let i = 0; i < butShag.length; i++) {
    butShag[i].addEventListener('click', function (i) {
        title(i);
    }.bind(butShag[i], i))
}


Но правильней будет вынести функцию обработчика, чтобы не создавать её каждый раз по новой.
А ещё правильней будет не использовать цикл, а использовать метод массива forEach, тогда и проблема с индексом отпадёт.

let butShag = document.querySelectorAll('.butShag');

function onClick(index, event) {
    title(index);
}

Array.prototype.forEach.call(butShag, (item, index) => item.addEventListener('click', onClick.bind(item, index));

Последний раз редактировалось ruslan_mart, 07.05.2018 в 14:47.
Ответить с цитированием