将加载事件应用于页面加载中不存在的元素

时间:2019-01-21 13:42:38

标签: javascript jquery onload

与此问题类似Applying an onclick event to an element that doesn't exist on page load 我正在异步加载一个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的内容

0 个答案:

没有答案