我正在使用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中运行?
答案 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;
}
});