У меня есть веб-сайт, в котором используется 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');
Собственно, вы можете быть способный переместить диалоговые divs из iframe в родительский документ после их создания, но это было бы действительно уродливо. Что-то вроде .. # ('. Ui-widget-overlay, ui-dialog'). AppendTo (window.parent.document.body); – CalebD
Вы правы. Похоже, он перемещает «modalHolder» из родителя в iframe. Я переведу свой js от ребенка к родительскому. Я пытался избежать этого. В любом случае спасибо! – vikasde
Я мог бы переместить элементы в родительский, однако их высота/ширина нужно будет пересчитать. – vikasde