最近在开发微信公众号项目的过程中,遇到了一个这样的问题。在IOS12中微信浏览器在键盘回弹时,导致页面展示的DOM与真实的DOM存在错位,即当键盘回弹时,点击界面上面的按钮无反应,点击其他输入框也无法输入。
这个问题要分为两种情况
(1)当用户输入时,界面上面的空白空间足够展示键盘时这种情况不存在
(2)当用户输入时,界面上没有足够的空白空间用来展示软键盘,软键盘会将整个body顶起,当用户输入完成时,点击软键盘上面的完成按钮,键盘关闭。此时键盘关闭,整个body元素并没有完全恢复到软键盘弹起时的位置,此时再点击联系人电话或者选择联系人关系时,点击无反应。此时就会出现展示DOM元素与真实的DOM元素存在错位的问题
解决办法:
(1)引入jquery
(2)直接使用resize事件