我已经有了一个使用iframe创建弹出窗口的JQuery函数。 一个新的要求说我需要创建从第一个弹出窗口触发的另一个弹出窗口,但iframe不允许我创建另一个弹出窗口。无论如何我可以使用主页面作为父节点而不是iframe创建弹出窗口吗?如果您有更好的建议,请告诉我。 感谢
代码:
function GetPopUp ("../folder/file.htm", "POPUP Title")
{
var xpos = mouse_x;
var ypos = mouse_y;
var windowID = $(href.split('/')).last()[0].split('.')[0];
var $dialog = $("#" + windowID)
var dimensions = GetPopUpDimensions(windowID);
$('body').after('<iframe id="' + windowID + '" style="padding:0;" src="' + href + '"> </iframe>');
$dialog = $("#" + windowID)
$dialog.dialog(
{
autoOpen: false,
title: title,
position: 'center',
sticky: false,
width: dimensions.DialogWidth,
height: dimensions.DialogHeight,
draggable: true,
resizable: false,
modal: true,
close: function () {
$(this).dialog('destroy');
$("#" + windowID).remove();
}
});
$dialog.load(function () {
$dialog.dialog('open');
$dialog.css("width", "100%"); // reset the width that is set by jquery UI
});
}
htm文件有一个可点击的链接,预计会触发另一个弹出窗口
答案 0 :(得分:0)
如果代码在iframe内部执行,则可以在DOM选择器前加上:
window.parent.
答案 1 :(得分:0)
弹出窗口不会自动应用于IFrame窗口的顶部,因此我们可以通过Parent.function_name()轻松应用它。
function_name()=&gt;此函数在IFrame窗口的顶部定义。您可以在下面的链接中看到完整的演示