IOS11 光标错位问题

 ios11发布后,测试人员反馈回来,键盘弹起时,input光标会定位不准。

后来查了资料,原来是position:fixed,和input一起使用会出现的bug。应该来说,是fixed在移动端支持不怎么好。

如图:

我的输入框弹出层下面还有一个遮罩层,我的遮罩层用了fixed定位,当键盘弹起时,ios视口计算问题,导致光标不跟随密码弹出框移动。

网上看了一些方法,又不想用插件。综合来说就是fixed兼容性问题。所以自己后来用了个笨笨的方法。

当input聚焦的时候,那个遮罩层的position设置为 absolute,让整个页面滚动到顶部,失焦就回去原来的fixed。为了让输入密码的那个框在键盘中间,

需要重新计算输入密码的整个框的位置。让整个页面滚动到顶部是为了键盘弹起的时候,重新计算视口高度。

这样就解决了我的问题。

如果有更好更优雅的解决方法,忠心希望给建议。

 

 

posted @ 2017-09-26 17:51  krypon7758  阅读(1178)  评论(0编辑  收藏  举报