我正在进行一些验证,我需要在onkeyup,onkeydown和onpaste事件上触发一些函数。然而,它不适用于Android手机,但在桌面上运行良好。
function limitInput(event, length) {
const e = event;
if (
[8, 9, 13, 37, 38, 39, 40].includes(e.keyCode) ||
(e.keyCode >= 48 && e.keyCode <= 58) ||
(e.keyCode >= 96 && e.keyCode <= 105) ||
((e.ctrlKey === true || e.metaKey === true) && (e.keyCode === 65 || e.keyCode === 67 || e.keyCode === 86))) {
/* Allow it */
} else {
/* No valid keyCodes */
}
return true;
}
<input type="text" class="form-control" onkeydown="limitInput(event, 4)" onkeyup="formatInput(event, 4, '/', 2)" onpaste="formatInput(event, 4, '/', 2, true)" required>
有谁可以帮我解决这个问题。提前致谢!
最好使用e.code而不是e.keyCode;
基于MDN KeyboardEvent.keyCode:
如果可能,你应该避免使用它;它已经被弃用了一段时间。相反,您应该使用KeyboardEvent.code
更换它,看看它是否正常工作。更多信息KeyboardEvent.code