ios中,键盘的弹起,页面会整个网上顶,键盘隐藏页面会下挪恢复原状,但是实际位置还是在被顶上去的地方,不会自动恢复。
<script>
var u = navigator.userAgent, app = navigator.appVersion
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
$(document).ready(function(){
$("input").blur(function(){
if (isIOS) {
blurAdjust()
}
});
});
// 解决苹果不回弹页面
function blurAdjust(e){
setTimeout(()=>{
if(document.activeElement.tagName == 'INPUT' || document.activeElement.tagName == 'TEXTAREA'){
return
}
let result = 'pc';
if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
result = 'ios'
}else if(/(Android)/i.test(navigator.userAgent)) { //判断Android
result = 'android'
}
if( result = 'ios' ){
document.activeElement.scrollIntoViewIfNeeded(true);
}
},100)
}
</script>
TIP:这里设置了100毫秒的延时,为了防止一个页面多个输入框时,多次调整从而导致页面调整错乱
参考:https://blog.csdn.net/m0_37520980/article/details/86305488