在移动端开发的时候,用到了position:fixed的遮罩蒙层,在蒙层里又放置里输入框。当用户sh输入时,软键盘会弹起来,会遮罩住输入框。
这个问题在网上有很多人问的。
我查了下,感觉比较合理的解决方法是:
https://segmentfault.com/a/1190000009820183
通过resize() 方法触发 resize 事件,或规定当发生 resize 事件时运行的函数。
var windheight = $(window).height(); /*未唤起键盘时当前窗口高度*/ $(window).resize(function(){ var docheight = $(window).height(); /*唤起键盘时当前窗口高度*/ if(docheight < windheight){ /*当唤起键盘高度小于未唤起键盘高度时执行*/ $(".submit").css("position","static"); }else{ $(".submit").css("position","fixed"); } });
更合理的做法,应该是规避这个问题的发生。
在有position:fixed的弹层里,不应设置输入框。