我希望让用户只能输入数字,还可以复制和粘贴内容到文本框。我已经实现了限制用户只能输入数字,但是复制和粘贴功能无法使用,请帮我解决这个问题。
以下是我的脚本:
$(".allow_only_numbers").keydown(function (e) {
var ctrlDown = false;
var ctrlKey = 17, vKey = 86, cKey = 67;
if (e.keyCode === ctrlKey){
ctrlDown = true;
}
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
// Allow: Ctrl
(e.keyCode === ctrlKey) ||
// Allow: Ctrl+A
(e.keyCode === 65 && e.ctrlKey === true) ||
// Allow: Ctrl+v
(e.keyCode === vKey && ctrlDown) ||
// Allow: Ctrl+c
(e.keyCode === cKey && ctrlDown) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
以下是 jsfiddle 链接:
https://jsfiddle.net/sureshpattu/stwzhceL/1/
<input type="number" name="quantity" min="1" max="5">
? - guradioinput
事件来处理粘贴和键盘事件。IE9部分支持,IE8完全不支持。 - charlietfl