jquery Ui-dialog和ie8

时间:2009-08-09 11:11:45

标签: jquery internet-explorer-8

我正在使用jquery对话框打开登录表单。它在ff,chrome甚至Ie6,7上工作正常 但它不适用于ie8。

这是我的功能:

function showSignInDialog() {
   var email = GetEmailFromCookie();
   if (!IsNullOrUndefined(email)) {
   $("input[name$='LoginEmail']").val(email);
   $("#chkRememberMe").attr("checked", "checked");
   }
   if (!$('#signInForm').dialog('isOpen')) {
   $('#signInForm').dialog({ bgiframe: true,
                             modal: true,
                             resizable: false,
                             width: 330,
                             title: 'EZtrader Login',
                             buttons: { "Login": doLogin }
                           });
    $('#signInForm').dialog('open');
  }
}
<8>在ie8上我得到一个无响应的脚本,这意味着存在某种无限循环。 我尝试调试它,当我尝试打开对话框时,循环发生在jquery-ui js文件中。 我想也许它与某些事情有关 “HTML解析错误:在子元素关闭之前无法修改父容器元素(KB927917)” 我在这里读到的是:http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx

并尝试在页面中移动脚本块和对话框但似乎没有任何效果。 请帮忙......

3 个答案:

答案 0 :(得分:1)

这似乎是这样的: http://dev.jqueryui.com/ticket/4758

IE8没有正确处理window.resize函数。您需要根据我的判断调整本地版本的jquery-ui。

答案 1 :(得分:0)

遇到完全相同的问题。要摆脱第一个问题,“无法修改...”错误,请将脚本标记设置为deferred = deferred。

第二个问题与ie8的JavaScript解析器有关,我可以从中找到。似乎没有答案,虽然我没有想过iframe,如果那样可以解决问题,奖金!!!!

答案 2 :(得分:0)

自动填充必须仅用于document.ready。 请将自动完成初始化代码移到$(document).ready(function(){ [place here] })块中,一切正常。