1

我的 jQuery UI 模态对话框在从按钮单击事件显示时显示在中心屏幕,但是,如果我在 document.ready 期间打开它,在下面的 loginDialog() 方法中,它会显示在可滚动窗口的底部。

我怀疑这个问题与我在对话框打开调用之前在 document.ready 中加载许多图像有关。屏幕的可视部分被禁用,但对话框位于滚动窗口的底部。有趣的是,对话框位置选项

position: 'top', 

在 document.ready 期间似乎也不起作用。

$(document).ready(function () {

        serverGetMenu();
        getPhotos();

        $("#loginDialog").dialog({
            .............
        });

        if (isLoginRequest()) {
            loginDialog();
        }
    });

如何在 document.ready 期间或之后不久正确放置对话框?

4

1 回答 1

0

问题已解决:原来我的 jquery-ui-1.9.2.custom.css 不正确。

我原来的 ThemeRoller 'build' 不包括 Dialog 小部件,所以我创建了一个新版本来包含 Dialog 小部件。然后,我只是用新的 jquery-ui-1.9.2.custom.js 替换了现有的 jquery-ui-1.9.2.custom.js,但我也没有更新 jquery-ui-1.9.2.custom.css 文件。

由于我缺乏使用 jQuery UI 的经验,我没有意识到,虽然我的 Dialog 工作正常,但它的样式与应有的样式有点偏离,我不得不添加一些样式来纠正小问题。正确的 jquery-ui-1.9.2.custom.css 也解决了我必须修复的样式“问题”。

我发现非常有趣的是,在我尝试在 document.ready 中显示我的 Dialog 之前,缺少的 Dialog 样式类并没有真正体现出那么大的“问题”。我从来不知道样式会导致如此奇怪的问题并且很难追踪。

于 2012-12-09T00:27:10.237 回答