IOS中position:fixed弹出框中的input出现光标错位的问题

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

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


解决方案是弹出表单时,给body加一个高度

var h=$(window).height(); 
$("body,html").css({"overflow":"hidden","height":h+"px"});

让整个页面等于可视区大小,这样既解决了弹出表单后,遮罩后面的页面跟着滑动,也解决了键盘弹起时,input光标会定位不准。

唯一的弊端就是页面会跳到顶部


当然,最后别忘了点击关闭弹窗的时候, 将页面恢复默认值

$("body,html").css({"overflow":"auto","height":"auto"}); 
原文地址:https://www.cnblogs.com/NatChen/p/7941133.html