0

我正在使用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;
  }
});

firefox在和中运行此代码时,我们可以看到差异chrome

提琴手

如何让它在 chrome 中运行?

4

1 回答 1

1

你不应该使用'blur'而不是'focusout'吗?我不确定它是否存在。

请参阅此处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;
      }
    });
于 2015-09-23T05:45:17.550 回答