Jquery焦点验证在chrome浏览器中无法正常工作

时间:2015-09-23 05:39:49

标签: jquery google-chrome focusout

我正在使用jquery focusout事件。我把它完美地运行起来了。问题是(在Chrome中)当我点击文本框时,我无法在不提供任何输入的情况下选择另一个文本框。但它可以在Firefox中。

HTML

<input type="text" id="first_name">
<div  id="error-firstname"></div>
<input type="text" id="last_name">
<div  id="error-lastname"></div>

Jquery的

$('#first_name').on('focusout',function(){
  if($('#first_name').val()==''){
    $('#error-firstname').html('Please enter your first name.');
    $('#first_name').focus();
    return false;
  }else{
    $('#error-firstname').html('');
    return true;
  }
});
$('#last_name').on('focusout',function(){
  if($('#last_name').val()==''){
    $('#error-lastname').html('Please enter your last name.');
    $('#last_name').focus();
    return false;
  }else{
    $('#error-lastname').html('');
    return true;
  }
});

我们可以在firefoxchrome中运行此代码时看到差异。

Jsfiddle

如何在Chrome中运行?

1 个答案:

答案 0 :(得分:1)

难道你不能使用'模糊'而不是'焦点'吗?我不确定它是否存在。

请参阅此处http://jsfiddle.net/ebd36j1p/,只需删除模糊事件处理程序中的焦点。

$('#first_name').on('blur',function(){
      if($('#first_name').val()==''){
        $('#error-firstname').html('Please enter your first name.');
      //  $('#first_name').focus();
        return false;
      }else{
        $('#error-firstname').html('');
        return true;
      }
    });
    $('#last_name').on('blur',function(){
      if($('#last_name').val()==''){
        $('#error-lastname').html('Please enter your last name.');
       // $('#last_name').focus();
        return false;
      }else{
        $('#error-lastname').html('');
        return true;
      }
    });