jQuery.key 返回未识别的 Android 键盘

Posted

技术标签:

【中文标题】jQuery.key 返回未识别的 Android 键盘【英文标题】:jQuery.key returns Unindentified Android keyboard 【发布时间】:2018-10-28 12:37:30 【问题描述】:

我正在尝试将我的电话号码输入字段设置为仅数字 (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设备中,它只能偏转字母和一些特殊字符BUT,其中一些可以通过!我尝试alert() e.key,当我尝试使用特殊字符键入时它返回Unidentified。我尝试将它添加到我的 if 条件 但是 e.preventDefault()return false 不起作用。当我尝试 $('#phonenumber').val() 时,它是空白的,但是有一个像这样的特殊字符。

e.key != "Backspace" && e.key != "Delete" 仅适用于 Windows 和 iPhone。 android 也将退格返回为 Unidentified

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

嗨,但这只会将 Unidentified 键返回为 0。 试试 keyUp 而不是 keyDown

以上是关于jQuery.key 返回未识别的 Android 键盘的主要内容,如果未能解决你的问题,请参考以下文章

未识别的 404 未找到页面

PHP - 未识别的索引变量[重复]

专用结构/类中未识别的数据成员

我的笔记本的本地连接有两个网络,一个网络二,一个未识别的网络,该怎么办??

记录用户存在未识别的 discord.js

使用 map() 在 lm 中未识别的因素