这是前两天遇到的一个坑。场景是一个包含一个输入框和一个“提交”按钮(默认 disabled)的 H5 页面,当在输入框中输入合法数据后,“提交”按钮会变得可用,然后用户可以点击提交数据。
之前的实现是监听输入框的keyup
事件,当输入合法数据后,修改按钮样式变为可用。
但部分用户反馈无论输入什么样内容,按钮始终不可点击,所以猜测可能是keyup
事件没有响应。通过整理出问题的 OS,发现主要是 iOS 8.1/8.2两个版本。测试后发现的确是这两个版本的 WebView 下第三方输入法对keyup
事件无响应。
最终的解决方案是修改为监听input
事件,问题解决。先写这么多,留坑总结下两个事件的不同。