一尘不染

jQuery iframe load()事件?

javascript

有谁知道这件事吗?

我有一个要插入的iframe,$.ajax()在iframe的内容完全加载后,我想做一些事情:

....
 success: function(html){  // <-- html is the IFRAME (#theiframe)
          $(this).html(html);   // $(this) is the container element
          $(this).show();
          $('#theiframe').load(function(){
             alert('loaded!');
          } 
....

它可以工作,但是我看到IFRAME加载了两次(警报也显示了两次)。


阅读 1971

收藏
2020-05-01

共1个答案

一尘不染

如果可能的话,最好处理一下loadiframe文档中的事件,然后调用包含文档中的函数。这样的优点是可以在所有浏览器中运行,并且只能运行一次。

在主文件中:

function iframeLoaded() {
    alert("Iframe loaded!");
}

在iframe文档中:

window.onload = function() {
    parent.iframeLoaded();
}
2020-05-01