我正在进行一些验证,我需要在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>
任何人都可以帮助我解决这个问题。预先感谢!
答案 0 :(得分:0)
最好使用e.code而不是e.keyCode;
基于MDN KeyboardEvent.keyCode:
如果可能,应避免使用此选项;它已经过时了 时间。相反,您应该使用KeyboardEvent.code
替换它,然后查看它是否有效。更多信息KeyboardEvent.code