H5页面 当button 使用position: fixed;bottom: 0;的时候 点击input 按钮会被顶上去
理论上:输入框激活,输入法弹起。导致浏览器的可视区域变小(window变小),所以fixed元素被撑上去属于正常现象。
如果你认为这是一个bug,你可以不用fixed;或者:输入框激活的时候把按钮隐藏掉。
这个是fixed的一个正常现象,一般情况下我的方法是用一个jQuery的方法来控制;
如下:
$(function(){
//焦点时隐藏
$("input").on("focus",function(){
$(".submit").hide();
});
//失去焦点时显示
$("input").on("blur",function(){
$(".submit").show();
});
})
正常现象 可以重新load一个一样页面,对这个页面稍微做点处理就好。个人意见哈:你也可以把会被顶起的元素在input框获得焦点的时候display:none 然后输入法关闭(或者是input失去焦点)的时候在display:none
应该是给button的position:fixed;原因,当input获取焦点时,使button的定位变为position:absolute;
$(function(){
$("input").focus(function(){
$("button").css("position","absolute");
});
$("input").blur(function(){
$("button").css("position","fixed");
});
});
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
我之前也遇到过这样的问题,可以获取当前设备的高度,赋给body,此时当再调用输入法的时候就没问题了