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"});
本文介绍了一个iOS中position:fixed导致的input光标错位问题及其解决方法。通过调整body的高度来确保页面不会随键盘弹起而滚动,并且解决光标定位不准的问题。
1882

被折叠的 条评论
为什么被折叠?



