Ingernirated
@Ingernirated
Романыч

Как добавить n в EventListener?

Джентельмены, ситуация такая, есть одна функция, но добавлена она в 2 обьекта, как в таком раскладе засунуть сюда n? Что бы каждый обьект вызывал св-во на свой. Можно было бы непосредственно в html теге вписать функция и там засунуть n, но интересует решение проблемы в данной ситуации. Как и куда можно впихнуть n?

var myImage = document.getElementsByClassName("iImg");

function none() {
myImage[n].style.display = "none";
}
myImage[0].addEventListener("click", opacity);
myImage[1].addEventListener("click", opacity);
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@vshvydky
Добавить листенер на родителя и получать элемент через event.target
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
из не упомянутых в предыдущих постах:
myImage[0].addEventListener('click', {
                        handleEvent: opacity,
                        n: 0;
                    });

Соответственно, в функции n будет доступно как this.n
Ответ написан
Комментировать
lazalu68
@lazalu68
Salmon
Ну раз уважаемый ТС не собирается раскрывать секрет зачем ему такое понадобилось, полагаю я обязан без промедления адаптировать для него несколько решений из гугла. Так сказать, специальное решение.

Вот они:

1. Брать индекс из замыкания,
2. Не выдумывать сложностей и обращаться к элементу через переменную this
3. По совету vshvydky обращаться к элементам через event.target
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы