Javascript jquery将焦点放回同一输入字段,因为错误不适用于所有浏览器

Javascript jquery将焦点放回同一输入字段,因为错误不适用于所有浏览器,javascript,jquery,google-chrome,internet-explorer,firefox,Javascript,Jquery,Google Chrome,Internet Explorer,Firefox,我有一个包含多个字段的表单,它既有动态创建的字段,也有一些预定义的字段。其中一个字段使用jquery timepicker插件,该插件由 现在我的问题是,我正在对该字段进行快速实时验证,因为该字段已模糊,无法对焦。如果验证失败,则显示错误并将焦点恢复到该字段。现在,我的代码在chrome上正常工作,但在IE 11和Firefox上,(inputfield).focus()不会被激发,因此焦点不会返回到字段 这是我的密码小提琴 下面是相同的代码片段 $(文档).ready(函数(){ //这只是

我有一个包含多个字段的表单,它既有动态创建的字段,也有一些预定义的字段。其中一个字段使用jquery timepicker插件,该插件由

现在我的问题是,我正在对该字段进行快速实时验证,因为该字段已模糊,无法对焦。如果验证失败,则显示错误并将焦点恢复到该字段。现在,我的代码在chrome上正常工作,但在IE 11和Firefox上,(inputfield).focus()不会被激发,因此焦点不会返回到字段

这是我的密码小提琴

下面是相同的代码片段

$(文档).ready(函数(){
//这只是用来强调当前的重点在哪里。。。
$(“输入”).focus(函数(){
css('background-color','rgba(240116116,0.69)');
});
$(“输入”).blur(函数(){
$(this.css('background-color','#fff');
});
//计时器选择器插件由--http://jonthornton.github.io/jquery-timepicker/
$('#presentationTime')。时间选择器({
“滚动默认值”:“上午8:30”,
“禁用时间范围”:[
['8:01 pm'、'11:59 pm'],
['12am','7:59am']
],
“timeFormat”:“h:i A”,
“selectOnBlur”:真
}).on('timeformatror',function(){
if($('#presentationTime').val()!=null | |$('#presentationTime').val()!=“”){
$(“#errormsg”).css(“显示”、“内联”).fadeOut(4000);
}
$('#presentationTime').val(“”);
$(“#presentationTime”).focus();
}).on('timeRangeError',函数(){
if($('#presentationTime').val()!=null | |$('#presentationTime').val()!=“”){
$(“#errormsg”).css(“显示”、“内联”).fadeOut(4000);
}
$('#presentationTime').val(“”);
$(“#presentationTime”).focus();
});
//结束时间选择器函数
$(“#字段”).blur(函数(){
if($(“#字段”).val()!=“12345”){
$(“#字段”).css('outline','green-pointed-thick');
$(“#字段”).val(“”);
$(“#字段”).focus();
}
});
});
#errormsg{
显示:无;
左边距:15px;
颜色:红色;
}
.ui时间选择器列表li.ui-timepicker-disabled{
/*显示:无*/
字体大小:正常;
字体大小:12px;
}

字段1::
字段2::



时段:: 需要有效时间!


存档4:: 字段5::

这是Firefox和IE中的一个实现错误,您可以使用计时器解决它。 这是新提琴:

我添加了
setTimeout(function(){$('#field').focus();},50)在末尾

它不会以任何方式影响Chrome,因为已经有了焦点