jquery 对话框在显示时更改其 dom 位置
jquery dialog changes it's dom location upon being shown
我的网页结构如下
它由几个 iframe
元素组成。 Top iframe
有一个按钮,当用户按下它时,我想在整个页面上显示 modal dialog
(而不是在顶部 iframe
内)。
因此,我使用以下代码动态创建和附加 dialog
元素:
var context = findMainWindow();//returns the main page window, out of scope
var modalDialog = $('body', context.document).append('<div id="' + dialogName + '" />').find('#' + dialogName);
这段代码有效,我看到元素被注入到主页的 dom 中:
然后调用.dialog
方法显示:
$modalDialog.dialog({
autoOpen: true,
modal: true,
height: h,
width: w,
resizable: false,
close: function () {
$modalDialog.dialog('destroy');
$modalDialog.remove();
}
});
,但不是在整个页面上显示它,而是将元素移动到 iframe 的 dom 中,初始按钮所在的位置。这是插图:
如何让它显示在整个页面的主体上,注入后元素所属的位置?
对于遇到相同行为的任何人 - 这只是 jquery-ui 中的一个错误。升级到最新版本解决了这个问题。
我的网页结构如下
它由几个 iframe
元素组成。 Top iframe
有一个按钮,当用户按下它时,我想在整个页面上显示 modal dialog
(而不是在顶部 iframe
内)。
因此,我使用以下代码动态创建和附加 dialog
元素:
var context = findMainWindow();//returns the main page window, out of scope
var modalDialog = $('body', context.document).append('<div id="' + dialogName + '" />').find('#' + dialogName);
这段代码有效,我看到元素被注入到主页的 dom 中:
然后调用.dialog
方法显示:
$modalDialog.dialog({
autoOpen: true,
modal: true,
height: h,
width: w,
resizable: false,
close: function () {
$modalDialog.dialog('destroy');
$modalDialog.remove();
}
});
,但不是在整个页面上显示它,而是将元素移动到 iframe 的 dom 中,初始按钮所在的位置。这是插图:
如何让它显示在整个页面的主体上,注入后元素所属的位置?
对于遇到相同行为的任何人 - 这只是 jquery-ui 中的一个错误。升级到最新版本解决了这个问题。