对iFrame.load()事件使用.live()

Using .live() for iFrame.load() event?

本文关键字:live 事件 iFrame load      更新时间:2023-09-26

我知道一个iFrame是通过javascript添加到我的页面在我的页面的某个地方,我想在它加载时得到通知,但这不起作用:

$("iframe").live("load",
    function () {
        alert(this.name + ": Im loaded!");
    });

没有提示
知道为什么吗?知道我们该怎么做吗?

我认为你可以在添加iframe到你的页面后做回调。如前所述,live()绑定iframe load()是不可能的。

注意:.live()和.delegate()方法不能用于检测iframe的加载事件。加载事件没有正确地弹出父文档和事件。目标不是由Firefox, IE9或Chrome,这需要做事件委托。

在你的回调中,你需要调用这个,可能需要设置一个超时来确保它在iframe被加载后触发

$("iframe").load(function () {
    alert(this.name + ": Im loaded!");
});

这不起作用,因为load事件只对Window对象起作用。

如果您希望在加载iframe内的页面时被注意到,那么您应该在内页上编写代码,该代码调用窗口。