Apache Cordova(phonegap)html input 被软键盘遮挡

由于 我们的项目在 body 上 应用了 position:fixed; 样式,造成 android 设备上,input 不会被软键盘推起。(ios 设备不会出现这个 bug)。

事实上 position:relative; 的时候是不会产生这个bug的。

基于以上条件,我们就用下面粗暴的方式进行治疗。

//当 input 获得焦点时
$("input").focus(function(){
    $("body").css("position","relative");
});
//当 input 失去焦点时
$("input").blur(function(){
    $("body").css("position","fixed");
});

如果只是 Android 这样就ok了。

但是在 ios 上运行时,屏幕会一闪。所以在 ios 上我们就不用这个方法了,反正 ios 的 input 是正常的。

//检查 浏览器
if(navigator.userAgent.indexOf("Safari") != -1){
    $("input").focus(function(){
        $("body").css("position","relative");
    });
    $("input").blur(function(){
        $("body").css("position","fixed");
    });
}


转载于:https://my.oschina.net/guodapeng/blog/603531

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值