2011-12-02 23 views
1

我創建了一個ID爲「example」的div,併爲其中的模式框輸入消息。我遇到的問題是,加載一次id的iframe不會關閉模式框。有什麼我在這裏失蹤?一旦iframe內容被加載,關閉jquery模式框

$(document).ready(function(){ 
$("#example").dialog({modal: true}); 
}); 

$('#loaded').load(function() { 
$("#example").dialog("close"); 
}); 
+0

你在哪裏加載iframe的內容?相同的域或另一個?如果相同,我可能會有答案。 –

+0

相同的域名,但它在不同的頁面上。 – pcproff

回答

0

你試過

$("#loaded").ready(function(){ 
    $("#example").dialog("close"); 
}); 
0

我懷疑這是因爲加載事件的wireup正在發生前的HTML已經準備好,試試這個:

$(document).ready(function(){ 
    $("#example").dialog({modal: true}); 

    $('#loaded').ready(function() { 
     $("#example").dialog("close"); 
    }); 
}); 

有一個問題已經有大約得到一個PDF格式的iframe通知,他們不認爲它可以工作: How do I fire an event when a iframe has finished loading in jQuery?

+0

這是一個很好的解決方案,在FF中完美運行。該對話框在文件剛剛打開iframe時關閉,而不是在Chrome和IE中完全加載時關閉。 – pcproff

+0

然後,我會建議添加亞當的解決方案,並改變'$('#loaded')。load'到$('#loaded')。ready'準備好在DOM完成加載後觸發。我會更新我的答案 –

+0

感謝Adam,Glenn,Emre的快速回復。格倫,這最後的反應工程真棒,但幾乎立即關閉鉻和IE:( – pcproff