我有一個網站,使用iframe。 iframe本身就是網站的內容。現在在iframe中,我想使用jQuery對話框。但是,使用它時,疊加層和對話框只顯示在不在父級上的iframe中。我的父母HTML先後爲對話框中定義的HTML如下:在父窗口中顯示jquery對話框
<div id="modalHolder"></div>
在我的iframe我使用下面的JavaScript來創建對話框並顯示它。
dlg1 = $(window.parent.document.getElementById("modalHolder"));
dlg1 = dlg1.dialog({
width: 300,
height: 150,
modal: true,
autoOpen: false,
resizable: false,
closeOnEscape: false,
draggable: false,
overlay:
{
backgroundColor: 'red',
opacity: 0.65
},
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
爲了顯示我用這個對話框:
dlg1.dialog('open');
其實,你可能是能夠在創建後將對話框div從iframe移動到父文檔,但這確實很難看。就像..#('。ui-widget-overlay,ui-dialog')。appendTo(window.parent.document.body); – CalebD 2009-12-24 16:47:57
你說得對。它看起來會將「modalHolder」從父級移動到iframe中。我會將我的js從孩子移到父母身上。我試圖避免這種情況。不管怎麼說,多謝拉! – vikasde 2009-12-24 16:48:36
我可以將元素移動到父元素,但是他們的高度/寬度需要重新計算。 – vikasde 2009-12-24 16:50:51