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");
    });
}


你可能感兴趣的:(Apache Cordova(phonegap)html input 被软键盘遮挡)