如何在执行函数之前等待iframe刷新?

时间:2013-11-26 01:37:50

标签: javascript jquery

当有人点击带有此代码的图片时,我正在刷新页面上的iframe:

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

      openBox();
 });

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

我怎样才能实现这样的目标?

2 个答案:

答案 0 :(得分:2)

使用jQuery:

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

使用vanilla JavaScript:

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

答案 1 :(得分: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/