在某些设备上(主要是三星,但也包括其他设备),根据Android版本、WebView版本(即使是Android 7中的常青WebView)和键盘组合,存在一些问题:
keypress
没有触发keydown
和keyup
始终包含keyCode=229
keypress
和input
被触发,但不包含按键信息textInput
没有触发maxlength
属性在用户输入时不会应用于input[type=text]
(允许超过maxlength
个字符,只有在提交表单时才验证输入)
有没有一种方法可以解决这些问题?
super
调用,我们发现有时用户会在另一个应用程序中打开数字键盘,当返回到我们的应用程序时,任何字段都只会打开相同的数字键盘,即使是文本字段也是如此。super
调用为我们解决了这个问题。但它在某些特定设备上引入了一个问题(我记不清是哪个设备了),即打字无法工作:用户按下键盘,但什么也没发生。这就是为什么你的结果可能会有所不同,你应该测试一下这个解决方案是否适用于你的具体情况。 - gabrielmaldiandroid:focusable="true"
和android:focusableInTouchMode="true"
才能使其正常工作。至少在 Android API Level 26 及以上版本中需要这样做。 - SqAR.org