软键盘被唤醒后,页面元素被遮挡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软键盘被唤醒后,页面元素被遮挡相关的知识,希望对你有一定的参考价值。

问题描述:当输入框在最底部时,点击软键盘后,输入框会被遮挡。
解决方案:在input的focus事件中触发window的resize事件。

var oHeight = $(document).height(); //浏览器当前的高度
$(window).resize(function(){
  if($(document).height() < oHeight){
    $("#footer").css("position","static");
  }else{ 
    $("#footer").css("position","absolute");
  }    
});

问题描述:页面弹窗有一个输入框,input获得焦点时,弹出的输入键盘会把弹层挤上去,有可能导致弹层一部分被隐藏。
解决方案:在input的focus事件中触发window的resize事件,通过判断页面的高是否变小,来重新设置弹层的样式。

var winHeight=$(‘window‘).height();
$(‘window‘).resize(function(){
    if($(‘window‘).height() < winHeight){
      popWin.addClass(‘on‘);
    }else{
      popWin.removeClass(‘on‘);
      var topShow=parseInt((winHeight-popWin.height())/2);
      popWin.css(‘top‘,topShow);
    }
})

 

以上是关于软键盘被唤醒后,页面元素被遮挡的主要内容,如果未能解决你的问题,请参考以下文章

移动端中 H5输入框在弹起键盘后被遮挡

Android WebView加载页面的输入框被软键盘遮挡的问题

移动端 模拟键盘 盖住表单

iOS webview html5 移动端 软键盘弹起遮挡输入框

移动端软件盘遮挡输入框问题

[Cordova/Phonegap] Cordova iOS 应用在第三方输入法的键盘弹出(点击输入框)时,页面不上移,导致输入框被键盘遮挡 的解决办法