移动端文本框被原生键盘弹出后挡住文本框

原因就是在安卓中被软键盘顶上来了,而苹果的软键盘是覆盖的(分层) 
解决方法是,把当前页面的body固定好,即在当然页面加上这段js:

$('body').height($('body')[0].clientHeight);

html:

<input id="val_name" type="text" placeholder="姓名"  onfocus="fup(val_name)" onblur="fdown(val_name)" >

 
js:
function fup(id){
    setTimeout(function () {
        id.scrollIntoView(true);
    },100)
}
function fdown(id){
    setTimeout(function () {
        id.scrollIntoView(false);
    },100)
}

  

 

如果为true,则元素将在其所在滚动区的可视区域中居中对齐。  

如果为false,则元素将与其所在滚动区的可视区域最近的边缘对齐。 根据可见区域最靠近元素的哪个边缘,元素的顶部将与可见区域的顶部边缘对准,或者元素的底部边缘将与可见区域的底部边缘对准。  

原文地址:https://www.cnblogs.com/zhangym118/p/9112593.html