Как заново инициализировать javascript после отработки AJAX?

Суть: есть разметка, которая генерируется PHP (дивы и картинки). Есть ajax, который, при прокрутки страницы, подгружает еще разметку. Пока делал разметку в html просто (чтобы посмотреть вообще, как будет смотреться и тп), у меня срабатывал джаваскрипт код при клике на картинку (появлялось модальное окно).

Проблема сейчас в том, что разметка генерируется не сразу, а после того, как ее загрузил аякс. Получается, что мой джаваскрипт не срабатывает.
Вопрос: как мне сделать так, чтобы он заработал? Я так понимаю, нужно прописать аяксу как колбэк какую-нибудь функцию init(), которая бы подключила джаваскрипт, но как это вообще писать надо? Ответа толкового не нашел..
  • Вопрос задан
  • 1280 просмотров
Решения вопроса 1
EvgeniyKvasyuk
@EvgeniyKvasyuk
Вам смотреть в сторону делегирования событий.
https://learn.javascript.ru/event-delegation

jquery.page2page.ru/index.php5/On - для jquery

У вас так происходит потому что в момент, когда навешиваются события, ваших элементов нет на странице, потом они подгружаются, но на них событий нет. Поэтому вам надо ставить события на тот элемент, который уже присутствует на странице, а потом уже делегировать исполнение нужному.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы