2014-12-05 80 views
0

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

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"); 
      } 
     }); 
    } 
} 

回答

0

IE兼容模式(IE7仿真)模拟IE7和更低,并且不能识别CSS边界属性的自动规则。

您可以向div添加align属性以允许它正常回退。

< DIV ALIGN = “中心” 的风格= “保证金:0汽车;文本对齐:左;垂直对齐:顶部” >

您可能需要同时指定文本对齐规则(如上) ;

您的页面可能无法验证validator.w3.org,但您可以放心地忽略警告/错误。

您可以在X-UA IE =边缘元添加到您的网页,以强迫任何IE7浏览器或任何用户谁仍然可使用IE8和“显示在兼容性视图中的所有站点,以强制IE8 +渲染和css 2.1合规。如果您的站点是Intranet站点并且您已强制“在兼容性视图中显示Intranet站点”,请使用x-ua元。

IE7仿真也不支持静态定位.....你的div覆盖应该是绝对或相对的;在IE7仿真中静态定位的解决方法是在.static类上使用MSIE计算规则。

问候。