【发布时间】:2016-10-25 06:38:52
【问题描述】:
我创建了这个脚本,它不允许用户在输入字段中输入超过两位小数。
var limit = 2;
jQuery("input.number").keydown(function(e) {
if(!isNaN(String.fromCharCode(e.which))){
var inputVal = jQuery(this).val();
if(inputVal.indexOf(".") > -1){
var splitted = inputVal.split(".");
var decimalCount = splitted[1].length;
if(decimalCount >= limit){
e.preventDefault();
}
}
}
});
该脚本在桌面上运行良好,但当我在 Chrome for Android 中对其进行测试时,它似乎不起作用。我尝试将事件更改为“on”、“keypress(已弃用)”,但没有一个选项可以解决问题。有人可以帮帮我吗?
更新 1:
我刚刚注意到该脚本仅在桌面上也不适用于数字键盘。如果我尝试从键盘的右小键盘键入,则脚本不起作用。另一方面,如果我从功能键“f1-f12”正下方的顶部数字中键入数字,则脚本可以工作。也就是说,在移动设备中,它也会打开小键盘。猜猜这就是问题所在。
【问题讨论】:
-
我认为您应该将按键用于触摸事件:stackoverflow.com/questions/9940829/…
-
“脚本在桌面上完美运行” - 真的吗?如果用户不使用键盘修改字段值怎么办?
-
@StephanHuewe,谢谢你的链接。我现在就试一试。
-
@nnnnnn,如果你能解释一下,我肯定会相应地更新脚本。谢谢。
标签: javascript android