我就在IE8上运行的企业Web应用程序的工作。 它出现blur()
被调用在所述主体使得所述IE窗口要被发送到的背景。 遗憾的是这个代码是在由供应商控制的应用程序的一部分。
是否有任何可能的方式来防止blur()
被调用对身体没有改变,实际上是调用代码body.blur()
由于这是一个企业应用程序,在应用程序本身是可接受的变化以外的解决办法; 比如改变IE8设置,注册表等。
我就在IE8上运行的企业Web应用程序的工作。 它出现blur()
被调用在所述主体使得所述IE窗口要被发送到的背景。 遗憾的是这个代码是在由供应商控制的应用程序的一部分。
是否有任何可能的方式来防止blur()
被调用对身体没有改变,实际上是调用代码body.blur()
由于这是一个企业应用程序,在应用程序本身是可接受的变化以外的解决办法; 比如改变IE8设置,注册表等。
你应该能够硬编码blur
的虚方法。 如果你能在它被调用之前,只需拨打body.blur = function() {};
(假设body
正指向您的DOM body元素)。
使用jQuery你可以简单地阻止事件:
$('body').blur(function(e) { e.preventDefault(); });
如果使用的是Firefox 是一个选项,我有两个答案在那里我建议更换使用功能的Greasemonkey 。
如果你必须使用 IE浏览器,你可能需要更改页面本身。
(我知道有特里克和IE7Pro的 IE浏览器,但从未使用)。
我使用JavaScript编辑器时,有一个问题: CLEditor ,如果我使用jQuery模糊()方法就可以了,IE窗口转到后台。 CLEditor有它的iframe有它自己的身体。 当你提取的身体和使用body.blur(),IE浏览器会去后台。
其他浏览器没有显示这种行为,所以最好使用FF或Chrome如果您遇到此。
如果您删除body.blur(),很可能你会跟IE少的问题比你现在,但你仍然可能会遇到一些小错误(自己是不是失去聚焦在某一点),但我想你可以忍受它。 但是,如果模糊()事件与一些逻辑丰富,也可能是问题 - 然后找到它的定义和逻辑移动到被开始使用的浏览器(onload事件,或准备)其他事情。
document.body.blur=function(){document.body.focus()}