Задать вопрос
KorniloFF
@KorniloFF
Работаю по font-end / JS

Как отловить EventListener при ajax?

Всем привет!
Гуглю второй день, ничего путного, может кто-то сталкивался?

Контент сайта грузится асинхронным запросом. Контент содержит в себе скрипты, которые отрабатываются при его загрузке. До этого этапа всё хорошо, работает.

Теперь внимание!

Когда скрипты внутри контента содержат обработчики событий, добавленные через addEventListener - они не исполняются. Получить список обработчиков, висящих на DOM-элементе, средствами броузера не возможно. Иначе было бы всё просто - исполнить их по загрузке контента.
Конкретно интересует обработка событий load и pageshow. И именно добавленных через addEventListener.
  • Вопрос задан
  • 3156 просмотров
Подписаться 6 Простой Комментировать
Ответ пользователя Константин    К ответам на вопрос (3)
SynCap
@SynCap
Делаю интернет с 1998 года
1. Обработчики должны быть всплывающими (propogate), если работать с ДОМ. Перегружать нужно не всю страницу, а лишь объект (body, content, конкретный div и тп), в таком случае ДОМ обработчики (click, resize, keyboard ...) должны стоять на родительском для перегружаемого объекте. Читайте про event bubbling и event propagation
2. Интересующие тебя обработчики - можно симулировать событие. В частности onload срабатывает 1 раз на загрузке страницы, и фффсее. НО, в таком случае при загрузке нового конетнта, кто мешает вызвать обработчик принудительно? Тот же обработчик на onload и тотже на AJAX success
3. Посмотри в сторону JSONP
4. не мучайся, возьми Vue
Ответ написан