iOS端因为输入框获得焦点和失去焦点的UI偏移解决方案

做项目时遇到的,iOS端输入法弹出后,输入框上移遮挡,输入法关闭后UI或者触控区域偏移的问题

// 失去焦点,window滚回原本的位置
function blur(){
    window.setTimeout(function(){
          window.scrollTo(0,document.body.clientHeight);
    }, 500);
};

// 获得焦点,window滚动到0,可以自定义位置
function focus(){
    window.setTimeout(function(){
          window.scrollTo(0,0);
    }, 500);
};

// 判断是否为iOS端
let u = navigator.userAgent, app = navigator.appVersion;
let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);  // iOS终端

// 判断后调用,推荐在vue里直接绑定输入框的focus和blur事件
if (isiOS) {
       ......   
}

你可能感兴趣的:(iOS端因为输入框获得焦点和失去焦点的UI偏移解决方案)