jQuery blur()或focusout()未在Internet Explorer中触发

时间:2013-09-29 01:48:10

标签: javascript jquery internet-explorer focus blur

所以我有这个表单,当输入松散焦点时我想做一些事情。这是我的代码,除了Internet Explorer之外,它在每个浏览器中都像一个冠军。

function formstyle() {

    var focus = 0;

    //comentario is the ID of the input
    $("#comentario").focus(function() {
        //blablablabla
    });

    $("#comentario").blur(function() {
        setTimeout(function() {
            var whatFocus = document.activeElement.tagName;

            if (whatFocus === "BODY") {
                focus = 0;
                //bla bla bla
            }
        }, 2);
    });
}

$(document).ready(function(){
    formstyle();
});
我快要搞砸了。这是一段简单的代码然而......没什么......我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

你尝试过使用焦点吗? http://api.jquery.com/focusout/

$("#comentario").focusout(function() {
    setTimeout(function() {
    var whatFocus = document.activeElement.tagName;

    if(whatFocus === "BODY")
    {
        focus = 0;
        //bla bla bla
    }
    }, 2);
});

答案 1 :(得分:0)

Oky ......经过几个小时尝试每一个想法,即使是最奇怪的想法,没有运气,我问我的gf她的电脑,所以我在那里试了一下,所有的工作就像一个魅力......:/很奇怪......

我只需要在if条件块中添加一个“DIV”部分,以使其中的代码在IE9中工作,但是“焦点”的东西在另一台计算机上工作没有问题。

我猜我的IE安装有一些问题。看不到任何其他解释。

无论如何,感谢所有帮助人员!