Jquery模式对话框在Internet Explorer 8兼容模式下禁用对话框

时间:2011-05-17 20:06:13

标签: jquery dialog modal-dialog

我没有看到任何有关此问题的回答。目前我使用Jquery UI对话框,模态设置为true。

            $("#popup").dialog
        ({
            height: 550,
            width: 750,
            modal: true,
            autoOpen: false,
            position: 'top',
            title: "Popup",
            resizable: false,
            closeOnEscape: false,
            closeText: "",
            open: function(type, data) {
                $(this).parent().appendTo('form:first');
            }
        });
    }

弹出窗口工作正常,但在IE 8可比性模式下,它会弹出包括弹出框在内的所有内容。叠加层似乎覆盖了所有内容,因此无法点击任何内容。我希望其他人能够做到这一点,并有一个想法。

更新

看起来在制作了一个非常愚蠢的测试页面之后,来自我需要使用的母版页的css是一个问题。 css强制位置:相对似乎是问题所在。由于我无法编辑母版页的CSS,我改为使用此代码

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >

强制浏览器不对我的页面使用兼容模式,它似乎正在工作。

感谢您的评论和时间!

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,不幸的是,我还需要在每个页面中使用兼容模式。 最后,我发现了这个解决方法:

open: function(type, data) { 
    $(this).parent().appendTo('form:first'); 
    $('.ui-widget-overlay').appendTo('form:first');
}

答案 1 :(得分:0)

我去了jsFiddle并尝试了FF4.01,Chrome 11,IE8和IE8兼容模式(IE7)中的代码,它们似乎都有效。

查看 working jsFiddle demo

$("#popup").dialog(
{
    height: 550,
    width: 750,
    modal: true,
    autoOpen: true,
    position: 'top',
    title: "Popup",
    resizable: false,
    closeOnEscape: false,
    closeText: "",
    open: function (type, data) { $(this).parent().appendTo('form:first'); }
});