IE9窗口由于jQuery Mobile失去了焦点

| 在我们的产品中,我们正在ASP.NET网站中使用jQuery Mobile的最新开发版本。每次我们进行ASP.NET回发时,浏览器窗口都会转到屏幕的背面。 例: 最大化任何窗口。示例:视觉 Studio,Word,Windows资源管理器。 最大化IE9。 IE9是唯一的 您在屏幕上看到的东西。 单击我们解决方案中的一个按钮 回发。 IE9不再可见。 无论背后是什么,现在都有重点 (并按原样填充屏幕 最大化) 我知道的唯一解决方法: 不要包含jQuery移动脚本。 确保IE9是Windows中唯一的最大化窗口。 我不知道jQuery Mobile在后台正在做什么,并且我假设这是IE9中的错误,该错误最终将得到修复。但是,如果您有关于如何防止其在此期间发生的任何提示,那就太好了。 编辑:似乎不是每个回发。它在每个回发中执行Response.Redirect。我应该补充一点,我的所有回发实际上都是在利用ASP.NET AJAX,而不是完整的回发。     
已邀请:
我知道这是一篇旧文章,但对于来自Google的人来说: 我今天也遇到了同样的问题。似乎这种失去焦点的行为就是在窗口对象上触发模糊事件时IE所做的事情。这是引起我这个问题的代码:
$(document.activeElement).blur();
当没有其他元素聚焦时,activeElement将默认为body元素,然后blur事件冒泡到窗口。为了解决这个问题,我只做了如下检查:
if (document.activeElement != $(\'body\')[0]) {
    $(document.activeElement).blur();
}
    
我对IE10和jQuery 1.7.2有类似的问题。 我在代码中找到了以下几行:
$(document.activeElement).blur();
$(\':focus\').blur();
因此,添加简单的.not(\'body \')可以解决此问题:
$(document.activeElement).not(\'body\').blur();
$(\':focus\').not(\'body\').blur();
    
jQuery Mobile 1.4.2似乎也发生了同样的问题。 使用IE 10时,打开一个选项卡,并在同一台显示器上显示另一个窗口,如果打开弹出窗口,它将把浏览器发送到后台。 要解决此问题,您必须编辑_handleDocumentFocusIn函数。您需要更改以下行(10391):
target.blur();
if (targetElement.nodeName.toLowerCase() !== \"body\")
{
    target.blur();
}
我提出了请求请求,因此希望它将包含在下一个版本中。     
只要将此链接发布给遇到更多此类持续混乱的人即可。我在Angular位置资源中的window.location = \'BLAH \'上看到了IE 9和IE 10上的问题。 这似乎并没有为我解决问题,但可能会帮助其他人: http://support.microsoft.com/kb/2600156/en-us     

要回复问题请先登录注册