我创建了一个jQuery对话框,当不在兼容模式下时,该对话框可以在IE中正常工作。但是,我的公司要求对某些旧代码使用IE的兼容模式。以下是我到目前为止的内容。关于如何更改它以便在使用iE兼容性时将其显示在中心的任何想法?

var originalColor;

function Form2958MessageBox(isValid) {
    var target = $(this);
    if (isValid) {
        $("#Form2958DataGridSuccess").dialog({
            position: { my: "center", at: "center"},
            title: "Successful Submission!",
            modal: true,
            buttons: {
                "Close": function () {
                    $(this).dialog("destroy");
                }
            }
        });
    }
    else {
        $("#Form2958DataGridFailure").dialog({
            position: { my: "center", at: "center", of: target},
            title: "Submission Errors Found",
            modal: true,
            buttons: {
                "Close": function () {
                    $(".ui-dialog-title").css("color", originalColor);
                    $(this).dialog("destroy");
                }
            },
            create: function (e, u) {
                originalColor = $(".ui-dialog-title").css("color");
                $(".ui-dialog-title").css("color", "red");
            }
        });
    }
}

最佳答案

IE兼容模式(IE7仿真)模拟IE7及更低版本,并且无法识别css margin属性的自动规则。

您可以向div添加一个align属性,以允许其正常回退。



您可能还必须指定文本对齐规则(如上所述);

您的页面可能不会在validateator.w3.org上进行验证,但是您可以放心地忽略警告/错误。

要么

您可以将x-ua IE = Edge meta添加到页面中,以强制任何IE7浏览器或任何仍在使用IE8的用户,并“在兼容性视图中显示所有站点”以强制IE8 +呈现并符合CSS 2.1。如果您的站点是Intranet站点并且已强制执行“在兼容性视图中显示Intranet站点”,请使用x-ua元。

IE7仿真也不支持静态定位.....您的div叠加层应绝对或相对定位; IE7仿真中静态定位的解决方法是在.static类上使用MSIE calc规则。

问候。

关于javascript - 如何在IE兼容模式下居中jquery对话框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27306573/

10-12 20:25