DingMing

丁大铭的个人空间,用来分享一些前端小技巧,默默成长吧,哈哈

ios-input键盘弹起收回BUG解决方式

  |  
 阅读次数

方案1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<input class="ipt" @focus="focus" @blur='done' type="text" placeholder="请输入名字" v-model="addressDetail.userName">

methods: {
focus() {
document.body.scrollTop = 0;

},
done() {
document.body.scrollTop = document.body.scrollHeight;

},
}

// 获得焦点时让页面滚动0
// 失去焦点时让页面滚动当前页面高度

方案2

1
2
3
4
5
6
setInterval(() => {
window.scrollTo(0, document.body.scrollTop + 1);
document.body.scrollTop >= 1
&& window.scrollTo(0, document.body.scrollTop - 1);
}, 300);
// 效果很好,但不推荐使用

方案3

1
2
3
4
5
6
document.body.addEventListener('focusin', () => { // 软键盘弹起事件
console.log('键盘弹起');
});
document.body.addEventListener('focusout', () => { // 软键盘关闭事件
console.log('键盘收起');
});

html

<input type=”text” placeholder=”联系人的手机号/QQ/微信” v-model=”contact” class=”ipt” **@blur=’done’**/>

js

done() {
   document.body.scrollTop = document.body.scrollHeight;
}

*这样在 失去焦点 的时候触发 done方法 页面滚动下 就好了