我有一个使用iframe的文件上传脚本,因此页面无需重新加载。
我遇到了一个问题,当使用jQuery的.live()
事件加载iframe时,从 iframe中检索数据,如下所示:
$("iframe").live("load", function() {
console.log($(this).contents().find("body").html());
});
这个事件甚至没有触发(我在Firebug中什么都没得到),那么在从我的文件上传脚本中加载一些内容后,如何获取iframe的HTML呢?我想这样做,所以我可以在服务器上运行PHP脚本的返回状态。
我必须使用.live()
,因为这些元素是动态添加的,这意味着传统的.load()
将不起作用。
答案 0 :(得分:6)
来自jQuery文档:
注意:.live()和.delegate()方法不能用于检测iframe的load事件。 load事件未正确冒泡父文档,并且事件委托不需要设置事件委托所需的Firefox,IE9或Chrome设置event.target。
http://api.jquery.com/load-event/
您是否可以提供有关您尝试执行的操作的更多信息,应该可以捕获事件,但不能使用iFrame加载。