按键功能
Keypress function
我有一个名为 format() 的函数。此函数对我的输入进行格式化。在 google chrome 中工作完美,但在 firefox 上,当我尝试使用 'backspace' 键删除输入时我遇到了问题。
$('#valueInput').keypress(function(event) {
let key = event.keyCode || event.which;
if (((key != 46 || (key == 46 && $(this).val() == '')) ||
$(this).val().toString().indexOf('.') != -1) &&
(key < 48 || key > 57) ||
$(this).val().toString().indexOf('.') != -1 &&
$(this).val().toString().split('.')[1].length >= 8) {
event.preventDefault();
}
}).on('paste', function(event) {
event.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="valueInput" type="text" />
此函数进行 3 次验证。只接受数字和点,只接受一个点,输入点后只接受8位小数。
在您的代码中添加这一行:
if(key == 32) {
$(this).val($(this).val().substring(0, $(this).val().length - 1));
}
你的代码会像这样:
$('#valueInput').keypress(function(event) {
let key = event.keyCode || event.which;
if (((key != 46 || (key == 46 && $(this).val() == '')) ||
$(this).val().toString().indexOf('.') != -1) &&
(key < 48 || key > 57) ||
$(this).val().toString().indexOf('.') != -1 &&
$(this).val().toString().split('.')[1].length >= 8) {
if(key == 32) {
$(this).val($(this).val().substring(0, $(this).val().length - 1));
}
event.preventDefault();
}
}).on('paste', function(event) {
event.preventDefault();
});
我有一个名为 format() 的函数。此函数对我的输入进行格式化。在 google chrome 中工作完美,但在 firefox 上,当我尝试使用 'backspace' 键删除输入时我遇到了问题。
$('#valueInput').keypress(function(event) {
let key = event.keyCode || event.which;
if (((key != 46 || (key == 46 && $(this).val() == '')) ||
$(this).val().toString().indexOf('.') != -1) &&
(key < 48 || key > 57) ||
$(this).val().toString().indexOf('.') != -1 &&
$(this).val().toString().split('.')[1].length >= 8) {
event.preventDefault();
}
}).on('paste', function(event) {
event.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="valueInput" type="text" />
此函数进行 3 次验证。只接受数字和点,只接受一个点,输入点后只接受8位小数。
在您的代码中添加这一行:
if(key == 32) {
$(this).val($(this).val().substring(0, $(this).val().length - 1));
}
你的代码会像这样:
$('#valueInput').keypress(function(event) {
let key = event.keyCode || event.which;
if (((key != 46 || (key == 46 && $(this).val() == '')) ||
$(this).val().toString().indexOf('.') != -1) &&
(key < 48 || key > 57) ||
$(this).val().toString().indexOf('.') != -1 &&
$(this).val().toString().split('.')[1].length >= 8) {
if(key == 32) {
$(this).val($(this).val().substring(0, $(this).val().length - 1));
}
event.preventDefault();
}
}).on('paste', function(event) {
event.preventDefault();
});