使用.live()进行iFrame.load()事件?

时间:2011-08-05 08:42:32

标签: javascript iframe live jquery

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

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

未显示警告 知道为什么吗?我们怎么能实现这个呢?

2 个答案:

答案 0 :(得分:3)

我认为您可以在将iframe添加到页面后进行回调。 如上所述here,不可能将live()绑定到iframe load()。

  

注意:.live()和.delegate()方法不能用于检测   加载iframe的事件。加载事件未正确冒泡   父文档和event.target不是由Firefox,IE9或   Chrome,需要进行事件委派。

所以在你的回调中,你必须调用它,可能设置一个超时,以确保它在iframe加载后触发。

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

答案 1 :(得分:-1)

它不起作用,因为 load 事件仅适用于Window对象。

如果您希望在加载iframe中的页面时注意到,那么您应该在内页上编写代码,该代码调用 window.parent 来通知其父级页。