1

JQuery Mask 输入现在可以在 Android (Samsung Galaxy 4) 上运行。

经过调查,keydownEvent 处理程序方法总是收到 keyCode 229,而不是正确的键盘键。

类似的错误在这里报告了铬中的问题 118639:keydown 和 keyup 事件没有正确的 keyCode

这个问题的任何解决方法?上面的链接提出了一些解决方法:例如,通过使用 DOM 3 级组合事件 [compositionstart、compositionupdate 和 compositionend]

但我不确定如何修改 JQuery Mask 输入代码来实现这样的解决方法,我尝试了以下

.bind("keydown.mask", keydownEvent)
.bind("keypress.mask", keypressEvent)
.bind("compositionstart.mask", keydownEvent_com)
.bind("compositionend.mask", keypressEvent_com)

但 keydownEvent_com 从未调用过。

那么,将此类修复/解决方法应用于 JQuery Mask 输入的正确方法是什么,或者可能是解决此类问题的不同方法。

4

1 回答 1

0

我还没有找到明确的解决这个问题的方法,除了如果操作系统是 android(旧版本和 4.2.2 )不包括掩码,加上我没有测试这个功能的 windows Mobile 和操作系统,因为我不能使用它也将在那里工作。

   if (!navigator.userAgent.match(/(Android (1.0|1.1|1.5|1.6|2.0|2.1|4.2.2))|(Windows Phone (OS  7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/)) {
            $(value).mask("999-99-999999?99", {"placeholder": "x"});
          }
于 2013-11-20T08:29:59.980 回答