在失去焦点的时候将高度置为window.innerHeight;

1
2
3
4
//失焦的时候去调用这个方法,在react上的写法,其他的也是类似的操作 
onBlur() {
this.setState({height:window.innerHeight});
}

另外一种方式,设置滚动window.scrollTo(x,y);滚动到相对应的位置,不过效果不是很友好

1
2
3
4
5
6
7
8
9
10
11
// 贴上react上一段blur的代码,楼下是判断IOS和安卓的代码,从而解决项目中微信6.7.4出现的键盘留白问题
onBlurIos() {
let { activityDetail } = this.props;
var u = navigator.userAgent, app = navigator.appVersion;
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isiOS) {
window.setTimeout(function () {
window.scrollTo(0, activityDetail.scrollTop + 140);
}, 30);
}
}