2013-11-26 72 views
0

我在我的网页刷新的iframe,当有人点击这个代码的图像:如何等到iframe刷新完成才执行函数?

$("img").click(function() { 
     $('#space iframe').attr('src', function(i, val){ return val; }); 

     openBox(); 
}); 

但我只想在iframe完成刷新后执行的Openbox()函数。

我该如何实现这样的目标?

+1

尝试使用'.load'方法http://api.jquery.com/load/ – elclanrs

+0

我缩短了我的演示代码。但openBox()是我所做的一个函数。我只想在iframe完成刷新后才执行该功能。 –

回答

0

虽然这不完全是您的问题,但您可以通过以下方式收听iFrame上的加载事件。

HTML

<iframe id="frame"></iframe> 
<button id="loadFrame">load frame</button> 

JS

$("#loadFrame").click(function() { 
    $("#frame").attr("src", "http://www.google.com"); 
    $("#frame").on("load", function() { 
     alert("ad"); 
    });  
}); 

小提琴:http://jsfiddle.net/7RL35/4/

2

使用jQuery:

$('#frameId').on('load', function() { 
    //code to execute after frame loaded 
}); 

使用香草的JavaScript:

document.getElementById('frameId').addEventListener('load', function() { 
    //code to execute after frame loaded 
}); 
+0

比我的好 – thenewseattle

相关问题