我有几个字段需要在onblur之后检查最小值,如果值不正确则返回字段。 $(this).focus()似乎不起作用。
$(".PartMin").blur(function()
{
var Value = this.value.replace("$", "");
if(Value < 115)
{
alert("Value cannot be less than $115.00");
$(this).focus();
}
});
答案 0 :(得分:1)
在模糊回调中设置焦点通常是有问题的。我发现引入延迟有助于:
$(".PartMin").blur(function()
{
var Value = this.value.replace("$", "");
if(Value < 115)
{
alert("Value cannot be less than $115.00");
var element = this;
setTimeout(function() {
$(element).focus();
}, 50);
}
});
Live Example(由于代码段用户界面,因此无法使用Stack Snippets。)
但是:我强烈建议不对模糊进行侵入性验证(弹出警报)。让用户在字段中移动,并提供非侵入性反馈(颜色等),并在尝试使用数据确认操作时仅提供侵入性反馈。