最近在开发一个用react开发的微信H5页面。
遇到了一个bug,就是当软键盘弹出再收起时,软键盘位置的点击事件失效。
刚开始以为是onclick的锅,但是换成onTouchStart还是没有好。而且iphone7 Plus没问题,但是iphone7就可以复现这个bug。
原因:
在IOS下,点击页面中比较靠下的input时,软键盘弹出,页面会上移,document.body.scrollOffset
会从0变成大于0。
软键盘消失后,页面下移,但是document.body.scrollOffset
并不会变成0,所以这时候触控就不准了。
只有iphonex、iphone6,ihpone7等部分机型会出现该问题;
解决方案:
失去焦点
<input onBlur={
() => window.scrollTo