我的jQuery UI模式对话框在按钮单击事件中显示时会显示中心屏幕,但是,如果我在document.ready期间打开它,在下面的loginDialog()方法中,它显示在可滚动窗口的底部。
我怀疑该问题与我在对话框打开调用之前在document.ready中加载了许多图像的事实有关。屏幕的可查看部分已禁用,但对话框位于滚动窗口的底部。有趣的是,对话框位置选项
position: 'top',
在document.ready期间似乎也不起作用。
$(document).ready(function () {
serverGetMenu();
getPhotos();
$("#loginDialog").dialog({
.............
});
if (isLoginRequest()) {
loginDialog();
}
});
如何使对话框在 document.ready 期间或之后不久正确放置?
问题已解决:事实证明我的 jquery-ui-1.9.2.custom.css不正确。
我原来的 ThemeRoller "构建"不包括对话框小部件,所以我创建了一个新的构建来包含对话框小部件。然后我只是用新的替换了我现有的 jquery-ui-1.9.2.custom.js但我也没有更新 jquery-ui-1.9.2.custom.css 文件。
由于我缺乏jQuery UI的经验,我没有意识到,虽然我的对话框工作,但它的样式与应有的风格有点偏离,我不得不添加一些样式来纠正小问题。正确的jquery-ui-1.9.2.custom.css也解决了我必须修复的样式"问题"。
我发现非常有趣的是,在我尝试在document.ready中显示我的对话框之前,缺少的对话框样式类并没有真正表现出那么大的"问题"。我从来不知道造型会导致如此奇怪的问题,而且很难追踪。