Задать вопрос
@wiigusev
Изучаю Web разработку

Почему не срабатывает addEventListener при событии click?

Добрый день.
После того, как я добавил загрузку данных с сервера c помощью XMLHttpRequest перестало работать событие click.

Пример элементов, на который вешаю событие.
<div>
   <a href="#" class="picture">
      <img class="picture__img" src="photos/3.jpg" width="120" height="120">
      <p class="picture__info">
        <span class="picture__comments">8</span>
        <span class="picture__likes">28</span>
      </p>
    </a>
   <a href="#" class="picture">
      <img class="picture__img" src="photos/4.jpg" width="120" height="120">
      <p class="picture__info">
        <span class="picture__comments">18</span>
        <span class="picture__likes">12</span>
      </p>
    </a>
</div>


Нахожу элемент "picture" с помощью querySelectorAll и на него вешаю событие click, чтобы открывалась эта картинка в большом размере (bigpicture).

for (var i=0; i<picture.length; i++) { 
       picture[i].addEventListener('click', function() {
	bigPicture.classList.remove('hidden');
});

Файл js с обработчиком события находится перед закрывающимся тэгом
  • Вопрос задан
  • 968 просмотров
Подписаться 1 Средний 7 комментариев
Пригласить эксперта
Ответы на вопрос 2
@DrLee
Если Вы используете querySelector то замените на querySelectorAll('.pictures .picture'); чтобы получить массив всех элементов за тем навесьте обработчик через цикл.
Ответ написан
xakplant
@xakplant
Автор сайта xakplant.ru
Вам нужно вешать событие на элемент в котором лежат элементы которые пришли по AJAX или вешать на них событие уже после XMLHttpRequest. Возможно вы пытаетесь повесить событие на элементы, которых нет во время исполнения скрипта addEventListener('click'......
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 18:42
2000 руб./за проект
22 янв. 2025, в 18:00
15000 руб./за проект
22 янв. 2025, в 17:57
2000 руб./в час