Ada*_*Sam 14 jquery function character keyup
我正在尝试创建一个输入字段,用户只能输入数字.这个功能对我来说已经很好了:
$('#p_first').keyup(function(event){
if(isNaN(String.fromCharCode(event.which))){
var value = $(this).val();
$(this).val(value.substr(0,value.length-1));
}
});
Run Code Online (Sandbox Code Playgroud)
但问题是,当用户持有带有角色的键时,功能键盘没有触发....任何想法我怎么能禁止这个?
Kev*_*sox 32
尝试绑定到keypress事件而不是keyup.按住键时会反复触发.当按下的键不是您可以调用的号码时preventDefault(),这将使键不会被放入输入标签中.
$('#p_first').keypress(function(event){
if(event.which != 8 && isNaN(String.fromCharCode(event.which))){
event.preventDefault(); //stop character from entering input
}
});
Run Code Online (Sandbox Code Playgroud)
工作示例: http ://jsfiddle.net/rTWrb/2/
小智 6
我决定使用@Rahul Yadav 提供的答案,但这是错误的,因为它没有考虑具有不同代码的数字键盘键。
这里我实现的功能:
function isNumberKey(e) {
var result = false;
try {
var charCode = (e.which) ? e.which : e.keyCode;
if ((charCode >= 48 && charCode <= 57) || (charCode >= 96 && charCode <= 105)) {
result = true;
}
}
catch(err) {
//console.log(err);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
尝试这个解决方案:
\n\njQuery(\'.numbersOnly\').keyup(function () { \n this.value = this.value.replace(/[^0-9\\.]/g,\'\');\n});\nRun Code Online (Sandbox Code Playgroud)\n\n演示: http: //jsfiddle.net/DbRTj/
\n\n同样的问题:
\n\n| 归档时间: |
|
| 查看次数: |
74068 次 |
| 最近记录: |