@GrishaTkachev

Кто может объяснить, почему при клике на item, цикл уже пройден?

  • Вопрос задан
  • 99 просмотров
Решения вопроса 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что глобальная переменная i на момент события содержит 3.
Используйте замыкание jsfiddle.net/7krzu4p3/1
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Ответ написан
Комментировать
mrswylet
@mrswylet
Эмм.
Похоже вы неправильно понимаете механизм событий.
items[i].addEventListener('click', function() {alert(i);});

Данной строчкой вы подписываетесь на событие клика. Функция не исполняется сразу, а ждет когда произойдет клик.
Это как если бы вы оформили подписку на какой-нибудь журнал. После подписки вы бы не стали ждать его по стойке смирно что бы прочитать, а жили бы своей жизнью. А когда он бы пришел, получили бы него на почте и прочитали.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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