jQuery.key返回Unindentified Android键盘

时间:2018-05-18 06:29:39

标签: javascript android jquery html keyboard

我正在尝试将我的电话号码输入字段设为仅数字(0-9)。我使用jQuery密钥使这个代码成为可能。

$("#phonenumber").keydown(function (e) {
   if (!(e.key.replace(/[^0-9]/g, "") === "" && e.key != "Backspace" && e.key != "Delete")) {
     //I added Backspace and Delete so I can use those keys.
     return;
   } else {
      e.preventDefault();
      return false;
   }
});

这适用于计算机和iPhone设备。但是在Android设备中,它只能偏转字母和一些特殊字符,其中一些可以通过!我尝试提醒() e.key ,当我尝试使用特殊字符输入时,它会返回未识别。我尝试将其添加到 if条件但是 e.preventDefault()并且返回false 不起作用。当我尝试 $('#phonenumber')。val()时,它是空白的但是有一个像这样的特殊字符。

enter image description here

e.key!=“Backspace”&& e.key!=“删除”仅适用于Windows和iPhone。 android将backspace返回为 Unidentified

我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用此代码查找活动中的关键代码

let key_code = ev.keyCode || ev.which;

您可以在此链接中看到键码列表:

https://css-tricks.com/snippets/javascript/javascript-keycodes/#article-header-id-1