JQuery .focus()在Firefox中的.blur()事件中不起作用

时间:2014-11-26 16:36:19

标签: javascript jquery html

我使用下面的代码,但是在使用JQuery的.blur()事件中的焦点文本框的firefox中不起作用

    $("#txtfname").focus(function () {
        if ($("#txtfname").val() == "" && $("#txtfname").val().length >= 2) {
            $("#fnamemsg").hide();
        }
    });

    $("#txtfname").blur(function () {
        if ($("#txtfname").val() != "" && $("#txtfname").val().length < 2) {
            $("#fnamemsg").show();
            $("#fnamemsg").html("Minimum 5 character");
            $("#txtfname").focus();
        }
        else { $("#fnamemsg").hide(); }
    });

2 个答案:

答案 0 :(得分:1)

您的条件搞砸了,而且您的信息也不符合您的条件。 如果#txtfname的值为5个或更多字符,则以下内容将隐藏消息;如果小于5个字符,则显示消息为模糊。

$("#txtfname").focus(function () {
    if ($("#txtfname").val().length >= 5) {
        $("#fnamemsg").hide();
    }
});

$("#txtfname").blur(function () {
    if ($("#txtfname").val().length < 5) {
        $("#fnamemsg").show();
        $("#fnamemsg").html("Minimum 5 characters"); 
        $("#txtfname").focus();
    }
    else { $("#fnamemsg").hide(); }
});

答案 1 :(得分:-2)

    $("#txtfname").focus(function () {
     //Check if value is blank or not
     if ($("#txtfname").val() === "" && $("#txtfname").val().length >= 2) {
         $("#fnamemsg").hide(); // Hide message
     }
 });

var element = document.getElementById('txtfname');
 element.focus();
 element.onblur = function () {
     if (element.value !== "" && element.value.length < 2) {
         $("#fnamemsg").show();
         $("#fnamemsg").html("* Firstname required 2 character");
         setTimeout(function () {
             element.focus();
         }, 0);
     } else {
         $("#fnamemsg").hide();
     }
 };