【问题标题】:JQuery Mask input plugin on android (Samsung Galaxy), the keyCode returned is always 229android(三星Galaxy)上的JQuery Mask输入插件,返回的keyCode总是229
【发布时间】:2013-11-10 05:28:17
【问题描述】:

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

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

这里报告了类似的错误Issue 118639 in chromium: keydown and keyup events do not have proper 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 输入的正确方法是什么,或者可能是解决此类问题的不同方法。

【问题讨论】:

    标签: javascript android jquery chromium jquery-mask


    【解决方案1】:

    我还没有找到解决此问题的明确解决方法,除了如果操作系统是 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"});
              }
    

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2012-01-24
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      相关资源
      最近更新 更多