我编写了代码,以防止输入框在任何textbox中的值相同时失去焦点。在chrome中,它工作正常,但在Firefox中,它失去了焦点并转到下一个输入框。
这是我的代码,请提出建议

    $('.clsBarcode').bind("focusout", function (e) {

                var repeat = 0;
                if ($(this).val() != '') {

                    var c = $(this).val();
                    $('.clsBarcode').each(function () {

                        if ($(this).val() == c)
                            repeat++;
                    });
                    if (repeat <= 1) {
                        saveflag = false;
                        return;

                    }
                    else {
                        alert("Barcode value exist,Please select different Barcode");
                        $(this).css('border', '2px solid red');
                        $(this).focus();
                        e.preventDefault();

                    }
                }
                else {
                    $(this).css('border', '');

                }


            });

最佳答案

请从jsfiddle链接jsfiddle找到解决方案。这将在Internet Explorer和firefox中工作。
如下所示更改了您的脚本

$('.clsBarcode').each(function () {

   if ($(this).val() == c)https://jsfiddle.net/fb3Lq9qq/28/#run
         repeat++;
     });
   if (repeat <= 1)
    {
        saveflag = false;
        return;

     }
   else {
         alert("Barcode value exist,Please select different Barcode");
         $(this).css('border', '2px solid red');
         var textgroupid= $(this).attr("id");
         setTimeout(function()
         {
             $("#"+ textgroupid +"").focus();
         },10);
        }
       }
  else {
         $(this).css('border', '');
         //$('#BtnBarcodesave').prop('disabled', false);
       }
       });
    });

关于javascript - 焦点只在Firefox中转到下一个文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35789396/

10-09 21:14