这是我的jquery代码......
我想验证文本字段的数值.如果无效,则再次聚焦同一文本字段和agian ..
$('#price').blur(function(){
if($(this).val() !='Preço em USD' && isNaN($(this).val()))
{
alert("Enter Integer only ...");
$('#price').focus();
}
});
Run Code Online (Sandbox Code Playgroud)
我想设置#price焦点,如果它不是一个整数...我也使用$(this)等但仍然没有工作
在此先感谢...
这里的问题似乎是模糊事件完成和焦点事件触发之间的时间量.
将焦点包装在setTimeout中允许在将焦点设置在元素上之前完成blur事件.
$('#price').blur(function(){
if($(this).val() !='Preço em USD' && isNaN($(this).val()))
{
alert("Enter Integer only ...");
setTimeout(function(){
$('#price').focus();
},100);
}
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到这个的工作副本:http://jsfiddle.net/ttQRD/
UPDATE
正如以下评论中所指出的那样,这里的问题似乎与时间关系不大,而更多地与焦点事件的授权有关.
将焦点事件放在其中setTimeout允许完成当前模糊事件,并在单独的循环中触发焦点事件.