2013-11-26 7 views
0

Я освежающий в IFRAME на моей странице, когда кто-то нажимает на изображение с этим кодом:Как дождаться обновления iframe до выполнения функции?

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

     openBox(); 
}); 

Но я только хочу, чтобы выполнить функцию Openbox() после того, как IFrame делается освежающим.

Как я могу достичь чего-то подобного?

+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"); 
    });  
}); 

Fiddle: 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

Смежные вопросы