首先,这是我的第一个问题,对不起,如果没有正确询问。 我在办公室开发的网络应用程序中有一个错误。该应用程序即将完成,但在IE< 9只要你点击它就会发现一个带有jQuery附加焦点和模糊事件的文本框会引发模糊事件。 您可以在此图片中看到此内容(只需在文本框中单击):
https://www.dropbox.com/s/yn10xfrfxsr38bq/screen.PNG
$('#divVolee [type="text"]')
没有关注焦点或焦点事件。
应用程序的URL:
http://86.126.255.70:2213/Anoxa/
如果您愿意,可以使用“Demarrer”按钮进入。
我不会要求任何人为我编写代码或类似的东西,我只是在搜索代码和网络上几天后才知道可能导致这种情况。
我尝试聚焦,聚焦,聚焦,模糊,直接附着或使用代表,同样的事情。只要我在输入字段中单击它就会引发模糊/聚焦事件。
感谢您的帮助。
答案 0 :(得分:1)
我找到了。我开始评论所有内容,直到找到罪魁祸首:
function resizeAccordion() {
var active = $('#divAccordion').accordion('option', 'active');
$('#divAccordion').accordion('destroy').accordion({ heightStyle: "fill", active: active });
}
var resizeId;
$(window).resize(function () {
clearTimeout(resizeId);
resizeId = setTimeout(resizeAccordion, 600);
});
如果用户重新调整浏览器大小,此代码应该重新调整大小并重新排列页面中的折叠。不知何故,在IE< 9中它被无故触发,这导致模糊事件被触发。 经过这么多个小时。也许它可能会思考或编码错误,但我仍然讨厌IE。
答案 1 :(得分:0)
我无法重现此错误(在IE9下使用IE8模式)。但一个简单的解决方法可能是:(甚至非常奇怪)
$('#divVolee [type="text"]').focus(function(){
//>>code for FOCUS here<<
$(this).blur(blurcallback);
});
function blurcallback()
{
//>>code for BLUR here<<
$(this).off('blur');
}