Bar*_*ney 6 html javascript jquery input
我正在使用 HTML 输入标签制作一个简单的搜索栏:
<input type="text" id="search_bar" />
Run Code Online (Sandbox Code Playgroud)
然后在 jQuery 中,我实现了 keypress 方法来检测用户何时按下 Enter/Return 键:
$('#search_bar').keypress(function(e) {
if(e.keyCode == 13 && !e.shiftKey) { // enter/return
e.preventDefault();
//do stuff
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果用户决定按住回车键,则该方法将被多次调用。我想禁用此行为,即keypress仅在用户按 Enter 键时调用一次,但在按住该键时不会再次调用。实现这一目标的最佳方法是什么?
谢谢。
使用onkeyup()只会检测按键何时被释放。这应该可以解决您的持有输入问题。
$('#search_bar').keyup(function(e) {
if(e.keyCode == 13 && !e.shiftKey) { // enter/return
e.preventDefault();
console.log("xx");
}
});
Run Code Online (Sandbox Code Playgroud)
按住回车--xx仅在发布时记录。
小提琴: http: //jsfiddle.net/veRkd/
| 归档时间: |
|
| 查看次数: |
9143 次 |
| 最近记录: |