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"});