微信端页面input获得焦点时页面滚动导致input被隐藏的一种解决办法

<input type="text" @click="scroll">

这里使用click事件而不是focus事件,input首次获得焦点时点击隐藏软键盘,然后再次点击input呼出软键盘但这时并不会触发focus事件
获取当前input距离页面顶部的距离,-70为滚动后input距离浏览器顶部距离
微信端input获得焦点是会有默认滚动动画所以这里给出了400ms的延时

scroll(){
    let a = $(event.currentTarget).offset().top - 70;
    setTimeout(() => {
        $('body,html').animate({
            scrollTop: a
        }, 200);
    }, 400)
}

发表评论

您的电子邮箱地址不会被公开。