ios输入input事件弹出软键盘后页面未回到底部(及点击input 弹出软键盘首字母默认大写)

最近app嵌套H5页面时,需要input输入,但是在ios屏幕上时,input引起软键盘弹出,此时ios页面高度发生变化,ios屏幕为保证输入框在可视范围内,往往会发生滑动。但是输入结束后,屏幕未回到底部。导致底部出现高度差。
处理方法:监听window屏幕的foucusin和focusout事件,视情移动屏幕至底部
此处做了延时执行,是因为在输入框切换的时候也会触发focusout和focusin事件,但此时用户输入并未完成,所以做30毫秒延时,避免触发回到底部。

//用户完成输入时,点击输入完成,收回软键盘的一瞬间,触发此事件--------失去焦点
   window.addEventListener('focusout', function () {
        this.focus = false;
        setTimeout(function () {
            if(this.focus==false){
                window.scrollTo(0,0);
            };
        },30)
    });
    //点击输入框获得焦点,此时用户开始/正在输入
    window.addEventListener('focusin', function (){
        this.focus = true;
    });

移动端关闭iOS键盘首字母自动大写

<input type="text" autocapitalize="off" />

当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值