2013-08-07 19 views
0

此处使用0超时,以便在模糊控件之前按键有时间结束。这是我实现这一目标的方法......删除设置为零的错误超时

$(document).keypress(function(e){ 
    if(e.keyCode === 13){ 
    setTimeout(function(){ 
     $('input').blur(); 
    }, 0); 
    } 
}); 

什么是在按下回车键时模糊控制的更好方法?

回答

0

为什么不尝试使用keyup事件,以便您在用户释放密钥之前有少量时间。

$(document).keyup(function(e){ 
    if(e.keyCode === 13){ 
     $('input').blur(); 
    } 
}); 

Check Fiddle

1

你不需要setTimeout这里:

$(document).keypress(function(e){ 
    if(e.keyCode === 13){ 
     $('input').blur(); 
    } 
}); 

The demo.

0

你可能会惊讶地得知,不是零的超时。 Chrome的最小超时值为8ms,Firefox的最小值为15ms。

+0

尽管罕见,但可能会出现一些确实存在0超时的情况:http://stackoverflow.com/a/7221609/665261 –