JS / JQuery keyup和keydown Android设备上不可预测的行为

我正在编写一个Web应用程序,当用户键入Web表单时,我会收集击键。 到目前为止它在桌面上运行良好,但在移动设备上,特别是Android设备上却没有。 这种行为是不可预测的。 例如:

  • 退格键/删除键不会在某些设备上触发键事件,但在某些其他设备上会触发键事件。
  • 修改键(也称为Shift键)不会在某些设备上触发键事件,但会在其他设备上显示。
  • 在某些设备上正确检测到密钥代码,而在其他设备上则没有。

例如在三星S4上使用本机浏览器将始终为任何键提供等于零的键码。 当我在Samsung S4上使用Chrome浏览器版本45.0.2454.84时,大多数键的密钥代码总是229。

使用Samsung Galaxy Ace 2上的本机浏览器,我获得了所有键的正确密钥代码(我在桌面上使用硬件键盘获得的密钥代码),但是shift /修改键不会触发

使用Sony Xperia M4 Aqua,使用Chrome浏览器版本45.0.2454.84,我获得了所有按键的正确密钥代码。 Agin修饰键不会触发。 当我在Sony Xperia上使用本机浏览器时,我得到的密钥代码为零。

即使使用相同的浏览器“Chrome浏览器版本45.0.2454.84”,我也无法真正找到模式,在不同的设备上给出不同的行为。

在iPhone iPad和Windows Phone上我没有这个问题。

我刚刚在Chromium中标记了一个错误。 https://code.google.com/p/chromium/issues/detail?id=531234