H5防止安卓手机软键盘弹出挤压页面导致变形的方法
H5防止安卓手机软键盘弹出挤压页面导致变形的方法
·
原因:body高度为100%,键盘弹出会导致高度变化,从而使布局混乱;部分手机会存在页面resize时闪烁。
解决方法:固定body的高度,不让其自适应;
let Height = $('body').height();//页面载入时获取body高度
$(window).resize(function() {
$('body').height(Height); //浏览器resize时给body赋值固定高度
});
解决H5键盘挡住输入框的方法
思路:键盘弹起时,让body滚动上去,保证输入框在可视窗口内;
window.onresize = () => {
var domNeedTop = 90, //当前dom需要距离可视区域 顶部 高度
domOffsetTop = $("input:focus").offset().top, //当前元素距离顶部高度;
needScroll = domOffsetTop - domNeedTop; //滚动条需要向上滚动的距离
$("html , body").animate({ scrollTop: needScroll }, "slow");
};
监听浏览器后台运行
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
//页面后台运行
} else {
//页面重新回来
}
});
更多推荐
已为社区贡献1条内容
所有评论(0)