JQuery focus()不是专注于IE,而是专注于Chrome

这是我的代码:

jQuery('#reporter').blur(function() { if(data.indexOf('['+jQuery('#reporter').val()+']') >= 0) { alert("Please do not select pseudo user as Reporter"); jQuery('#reporter').focus(); } }); 

在IE中,光标在“reporter”元素中不闪烁。 在Chrome中,它是。

非常感谢!

您需要稍后使用超时设置模糊。 另一个控件可能首先执行焦点。

建议

 window.setTimeout(function(){ $('#reporter').focus(); }, 50); 

这使IE有时间聚焦其他控件,窃取焦点然后将其添加到#reporter

防止行动

 $('#reporter').blur(function(e) { if(data.indexOf('[' + jQuery('#reporter').val() + ']') >= 0) { alert("Please do not select pseudo user as Reporter"); $('#reporter').focus(); e.preventDefault(); } });