@Shimpanze

Объясните почему не срабатывает addEventListener?

Здравствуйте!

Копирую информацию из одного контейнера в другой и мне необходимо отследить момент, когда этот процесс закончен полностью.

Пишу так:

// само копирование
document.getElementById('temp-content').innerHTML = document.getElementById('content').value;

// далее навешиваю обработчик который следит за контейнером
// и (теоретически) должен мне сообщить когда тот будет полностью готов
document.getElementById('temp-content').addEventListener("load", function() {
  alert('Весь HTML-контент загружен в контейнер!');
});


Мне важно именно событие load, так как оно позволяет отследить полную загрузку всех ресурсов (включая изображения).

Спасибо!
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Потому что такого события нету.
HTML вставляется синхронно, тут события не нужны.
Чтобы отследить загрузку изображений, нужно после вставки выбрать все изображения в нужном элементе, и на каждое навесить обработчик.
При том нужно учитывать, что какое-то изображение может не загрузиться, а какое-то зависнуть в состоянии загрузки.
Ответ написан
edli007
@edli007
full stack, team lead
DomContentLoaded - готовность DOM к работе, событие у document
load - загруженны, событие у window
если temp-content не iframe то изменения в нем с точки зрения алгоритма происходят без задержек, по крайней мере это быстро и учитываеться при обращениях к DOM
про изображения Антон уже написал, для всех подобных вещей будет схожая ситуация
Для отслеживания изменений вам нужен Observer
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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