mui键盘挡住输入框的解决方法
做手机端网页的时候常遇到弹出键盘挡住输入框的问题,尤其是底部输入框。
普通页面好解决,网上很多示例。
牵扯到mui框架尤其在滚动窗体内以及包含侧滑导航的页面中,就不那么如意了
解决步骤:
1.包含输入框的底部增加fixed属性,让其保持最低显示,
然后页面刚开始正常,一旦你用了侧滑事件再点击输入框,又被挡住了,这事因为在中间内容区经过侧事件后,增加了transform的相关style,至于transform影响fixed就不用说了,影响太多了
所以要进行第二步骤
2.监听触屏事件,根据$(".mui-off-canvas-wrap").hasClass("mui-active") 来判断,去除transform的相关style
不管用?因为触屏结束判断的同时mui-active还没有消失,所以要加个延时
3.保险起见,input点击再增加一个style处理
代码如下
注意,仅针对mui框架,其他可效仿
//触屏结束时判断
window.addEventListener("dragend",function(){
setTimeout(function(){
if($(".mui-off-canvas-wrap").hasClass("mui-active")){
}else{
$("底部div mui-bar").removeAttr("style");
}
},500);
})
$('input').on('click',function(){
$("底部div mui-bar").removeAttr("style");
});