azovl
@azovl

Как установить событие на будущий DOM элемент?

Друзья, необходимо определить появился ли iframe внутри div'a с определенным классом и назначить ему событие onload.

Проверяю вот таким образом:

const _interval = setInterval(() => {
            if(special_div.querySelector('iframe')) {
                checkIframeLoaded();
                clearInterval(_interval);
            }
        }, 100);


Подход этот не нравится, уверен что есть более лаконичный способ узнать появится ли элемент внутри другого элемента и назначить ему событие?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для контроля изменений DOM используйте MutationObserver. В данном случае вам надо установить опцию childList для слежения за потомками div'а и, если добавление элементов происходит не непосредственно в div, а в его потомка, то ещё и опцию subtree.
Ответ написан
Комментировать
@alekcena
Нелинейный наставник
"В нутри определенного diva"
Значит нужно вешать событие именно на этот div
div.addEventListener('click',(event)=>{console.log(event.target)});

Далее если этот "target" имеет класс такойто то
Ответ написан
tyoma_koder
@tyoma_koder
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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