Javascript 无法从HTML输入类型编号中获取原始值(包括点(.))

Javascript 无法从HTML输入类型编号中获取原始值(包括点(.)),javascript,jquery,html,Javascript,Jquery,Html,当我点击输入时;在输入的按键功能上键入一些键。然后键入,尽管它显示在输入上,但我无法在$('#n').val()中看到 例如,键入以下内容后:123.然后$('#n').val()仅返回123 是否有的任何属性可以让我得到它的原始值,即123.而不是123 $(“#n”)。在(“按键”,功能(事件){ log($(“#n”).val()); }); 我自己之前也遇到过这个问题。也许这会有帮助: $(“#n”)。关于(“键控”,函数(事件){ var val=$('#n').val(); 如果

当我点击输入时
;在输入的
按键功能上键入一些键。然后键入
,尽管它显示在输入上,但我无法在
$('#n').val()中看到

例如,键入以下内容后:
123.
然后
$('#n').val()
仅返回
123

是否有
的任何属性可以让我得到它的
原始值,即
123.
而不是
123

$(“#n”)。在(“按键”,功能(事件){
log($(“#n”).val());
});

我自己之前也遇到过这个问题。也许这会有帮助:

$(“#n”)。关于(“键控”,函数(事件){
var val=$('#n').val();
如果(event.keyCode==190){
val+=';
}
控制台日志(val);
});

JS-Bin


这应该能解决你的问题<代码>使用FocusOut事件捕获值

使用
键控
event@Satpal:
keyup
不起作用
123。
123
,为什么需要句点?我怀疑你会得到它,因为没有真正的方法来获取原始值。@epascarello:因为我每次都想用这个信息来约束输入数字。即:在点(.)123.4之后只允许有1个数字-因此必须检测到
的存在,因此。他们加上一个号码后就会到了。你们的问题是输入的数字会帮你们解析,所以你们并没有控制权。您可以侦听键事件并查看值是什么,但不能读取值。只有在粘贴、删除键或编辑操作后如何跟踪点(.)的情况下,问题才会失败。即删除点(.),然后再次添加…,如上面提到的@epascarello。@O0omicomputerO0o一旦点就位,您可以拆分字符串并检查小数点后的部分长度是2还是2not@epascarello我会see@epascarello字体对我来说,它起作用了。这是我在Safari浏览器中测试的fiddle链接。
<input type="number"
       min="0"
       max="999"
       step="0.000001"
       pattern="[0-9]{1,2}([\.][0-9]{1,2})?" 
       id="n" />