我正在尝试在iframe加载新页面时触发的父级上设置一个事件(可能是通过用户点击链接)。
HTML:
<iframe name="posts" id="posts" src="edit.php">
JS:
$(document).ready(function() {
$('iframe#posts').live('load', function() {
console.log('live');
});
});
问题是console.log()
语句永远不会被触发。我怎样才能实现我想要做的事情?
答案 0 :(得分:2)
解决问题的最简单方法是使用jQuery创建iframe。
$(document).ready(function() {
$("<iframe />").attr({
id: "posts",
src: "edit.php"
}).load(function() {
console.log('live');
}).appendTo("body");
这个问题一直是asked here before。
答案 1 :(得分:2)
我使用的方式是
<iframe onload="hide_html_player_contents_loading();" ...../>
答案 2 :(得分:1)
我最好的猜测是iframe上的'load'事件在文档上的'ready'事件之前触发,这意味着处理程序安装得太晚了。您可能必须使用onload
元素本身中的旧式iframe
。
或者您可以将$('iframe#posts').live()
代码段放在顶级脚本中,而不是放在就绪处理程序中。