onkeyup,onkeydown和onpaste事件无法在Android设备上运行

问题描述 投票:1回答:1

我正在进行一些验证,我需要在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>

有谁可以帮我解决这个问题。提前致谢!

javascript android jquery keyevent onkeydown
1个回答
0
投票

最好使用e.code而不是e.keyCode;

基于MDN KeyboardEvent.keyCode

如果可能,你应该避免使用它;它已经被弃用了一段时间。相反,您应该使用KeyboardEvent.code

更换它,看看它是否正常工作。更多信息KeyboardEvent.code

© www.soinside.com 2019 - 2024. All rights reserved.