onkeyup,onkeydown和onpaste事件在Android设备上不起作用

时间:2019-04-16 15:30:10

标签: javascript android jquery keyevent onkeydown

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

任何人都可以帮助我解决这个问题。预先感谢!

1 个答案:

答案 0 :(得分:0)

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

基于MDN KeyboardEvent.keyCode

  

如果可能,应避免使用此选项;它已经过时了   时间。相反,您应该使用KeyboardEvent.code

替换它,然后查看它是否有效。更多信息KeyboardEvent.code

相关问题