我有autoNumeric使用这些设置在输入字段上设置
[
{"digitGroupSeparator" : ""},
{"decimalCharacter" : ","},
{"modifyValueOnWheel" : false},
{"minimumValue" : "0"}
]
小数点分隔符是逗号。当在常规键盘上按下逗号时,它会按原样出现在输入字段中。但是,当按下数字键盘时,什么也没有出现。这只发生在 IE 上,在 Chrome/FF 上它可以正常工作,出现一个逗号。
我在此服务上测试了 IE 和 Chrome 的 JavaScript 代码:http://unixpapa.com/js/testkey.html
它们是相同的。普通键盘逗号按下:
keydown keyCode=188 which=188 charCode=0
keypress keyCode=44 (,) which=44 (,) charCode=44 (,)
keyup keyCode=188 which=188 charCode=0
数字键盘逗号按下:
keydown keyCode=110 (n) which=110 (n) charCode=0
keypress keyCode=44 (,) which=44 (,) charCode=44 (,)
keyup keyCode=110 (n) which=110 (n) charCode=0
这应该作为 autoNumeric 的错误提交吗?它也应该接受来自数字键盘的分隔符。任何可能的解决方法?
编辑:这是要测试的 JSFiddle:https://jsfiddle.net/g1wumdt7/3/
最佳答案
使用 "decimalCharacterAlternative": "."
按下时将用作主要十进制字符的替代。
这里有更多options
var anSettings = {
"digitGroupSeparator" : "",
"decimalCharacter" : ",",
"modifyValueOnWheel" : false,
"minimumValue" : "0",
"decimalCharacterAlternative": "."
};
AutoNumeric.multiple('.an', anSettings);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/autonumeric/4.1.0/autoNumeric.min.js"></script>
<input type="text" value="" class="an">
更新:感谢@Alex,将 AutoNumeric 添加到多个字段使用 AutoNumeric.mulitple
关于javascript - autoNumeric 不允许从数字键盘/Internet Explorer 输入十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49316440/