jQuery UI对话框:IE 8中背景上的巨大DIV

was*_*ker 5 jquery jquery-ui modal-dialog

我正在尝试使用jQuery UI的模态对话框并在IE8中测试我的东西.每次弹出对话框时,都会在背景上创建一个巨大的DIV,IE会不断更改垂直滚动条的拇指大小,如果在后台有大量的页面下载.在兼容模式下,IE更改垂直滚动条的拇指一次,一切都按预期工作,看起来不像页面仍在加载.jQuery UI的样本对我很有用.

这是我的代码:

$("#confirm_stage_change").dialog({
    autoOpen: false,
    bgiframe: true,
    modal: true,
    height: 300,
    width: 300,
    draggable: false,
    resizable: false
});
Run Code Online (Sandbox Code Playgroud)

那是我的"对话":

<div id="confirm_stage_change" title="Confirm Stage Change">
    <p>
        Hello!!!
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我在检查员中看到的DIV:

<div class="ui-widget-overlay" style="z-index: 1001; width: 1069px; height: 20218px;" jQuery1257312441701="35">
Run Code Online (Sandbox Code Playgroud)

有没有人看到类似的东西?

谢谢!

更新:它发生在IE8标准模式(XHTML 1.0 Strict; jQuery UI的示例也在这种模式下被破坏),但在IE 8 Quirks模式下没有问题.

Joh*_*dom 8

我在另一篇文章中找到了答案:JQuery UI模式对话框使用100%CPU

添加以下样式.

.ui-widget-overlay 
{ 
    position: fixed; 
}
Run Code Online (Sandbox Code Playgroud)


Kev*_*eno 0

我不确定我完全理解这个问题,但这里有一个刺:

默认情况下, jQuery UI 的对话框小部件(在模态对话框模式下)始终将整页 div 放在页面其余部分的内容上。这是正常行为。它可能不会出现在怪异模式下,因为 jQueryUI 团队不支持怪异模式。如果您不希望对话框的内容覆盖 div,则应考虑其他对话框选项。

就滚动条而言,由于使用了模式对话框,通常不会出现滚动条。但是,如果您的页面足够大,足以在对话框出现之前导致滚动,那么浏览器在所有情况下都会有不同的反应。