gpt4 book ai didi

javascript - jQuery - 无法在 Firefox 中编辑/删除输入值

转载 作者:行者123 更新时间:2023-11-30 00:29:22 24 4
gpt4 key购买 nike

限制用户输入最多两位小数的值,即仅限 10.56

<input class="number" type="text" value="" />
<input type="text" value="44" />
$('.number').on('keypress',function (event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
var input = $(this).val();
if ((input.indexOf('.') != -1) && (input.substring(input.indexOf('.')).length > 2)) {
event.preventDefault();
}
});

fiddle作品。但是,如果用户按下 delte/tab/backspace,则什么也不会发生。

如何允许用户使用 tab 按钮编辑/删除输入值或移动到下一个输入框?

答案引用:Link

最佳答案

您可以转义相关的键盘键。查看Javascript Char Codes , 知道逃脱的 key 。

查看现场演示:

$('.number').on('keypress',function (event) {

// Add this condition to escape arrow/tab/delete/... and many others keys
if(event.which <= 46) {
return true;
}

if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
var input = $(this).val();
if ((input.indexOf('.') != -1) && (input.substring(input.indexOf('.')).length > 2)) {
event.preventDefault();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="number" type="text" value="" />

<input type="text" value="44" />

更新:

在你的 fiddle 中添加一个 if 条件:

var acceptedKeys = [9, 37, 39, 46, 8];
if(acceptedKeys.indexOf(charCode) > -1) {
return true;
}

使用此代码,您接受此 key :

  • 退格键
  • 删除
  • 左箭头
  • 右箭头
  • 标签

http://jsfiddle.net/e0orb0qq/29/

关于javascript - jQuery - 无法在 Firefox 中编辑/删除输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30190474/

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