Применение события загрузки к элементу, который не существует при загрузке страницы - PullRequest
0 голосов
/ 21 января 2019

Аналогично этому вопросу Применение события onclick к элементу, который не существует при загрузке страницы Я асинхронно загружаю iFrame, который я, очевидно, могу стилизовать только с помощью JavaScript. Однако мне нужно внести некоторые коррективы в стиль и, следовательно, я пытаюсь добавить событие в элемент, которого нет при загрузке страницы. Я решил, что используя метод в ответах на вышеупомянутый вопрос, я мог бы просто добавить «загрузку» вместо события «щелчка».

    $('.widget-box').on('load','#iframeContainer',function(e){
        // my code
    });

Однако, похоже, это не работает. Есть ли другое решение моей проблемы?

edit: как предложил один из комментаторов, я использовал наблюдатель мутации. Это работает сейчас, но не кажется очень чистым. Если у вас есть предложения по улучшению, я был бы рад услышать.

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {

        (function($) {
            $('#okomoIframeContainer').load(function() {
                console.log('its loaded');
            })

        })(jQuery);
    });
});

observer.observe(widgetWrap, { childList: true });

edit2: Кроме того, с помощью этого метода я все еще не могу изменить содержимое iframe из-за политики того же происхождения

...