gpt4 book ai didi

javascript - 为什么这个仅输入数字的函数实际上不适用于输入类型 :number?

转载 作者:行者123 更新时间:2023-11-28 01:09:59 24 4
gpt4 key购买 nike

$('input').on('keyup',function(){
this.value = this.value.replace(/[^0-9\.]/g,'');
});

来自:https://stackoverflow.com/a/891816/622813

在我用 <input type="number"> 进行测试后

当我输入类似 1234a 的内容时所以值为空白

但不适用于 <input type="text">当我输入1234a时值仍然是1234

只是想知道为什么?

演示: http://jsfiddle.net/PV2fQ/

<小时/>

更新:

<input type="tel">这个工作很好... http://jsfiddle.net/PV2fQ/10/ 为什么?

最佳答案

如果您执行console.log(this.value);在替换语句之前,您将看到对于非数字输入 <input type="number">本身得到一个空白值,即 this.value = '' ;

这似乎是该输入类型的内部实现。

替代方案:http://jsfiddle.net/PV2fQ/12/

$('input').keypress(function (e) {
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
}
});

关于javascript - 为什么这个仅输入数字的函数实际上不适用于输入类型 :number?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24569000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com