IE在文本框中引起焦点模糊

时间:2013-01-21 15:25:03

标签: javascript jquery internet-explorer blur

首先,这是我的第一个问题,对不起,如果没有正确询问。 我在办公室开发的网络应用程序中有一个错误。该应用程序即将完成,但在IE< 9只要你点击它就会发现一个带有jQuery附加焦点和模糊事件的文本框会引发模糊事件。 您可以在此图片中看到此内容(只需在文本框中单击):

https://www.dropbox.com/s/yn10xfrfxsr38bq/screen.PNG

$('#divVolee [type="text"]') 

没有关注焦点或焦点事件。

应用程序的URL:

http://86.126.255.70:2213/Anoxa/

如果您愿意,可以使用“Demarrer”按钮进入。

我不会要求任何人为我编写代码或类似的东西,我只是在搜索代码和网络上几天后才知道可能导致这种情况。

我尝试聚焦,聚焦,聚焦,模糊,直接附着或使用代表,同样的事情。只要我在输入字段中单击它就会引发模糊/聚焦事件。

感谢您的帮助。

2 个答案:

答案 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');
}