// 获取页面的可视高度
const originHeight = document.documentElement.clientHeight || document.body.clientHeight;
const resizeHandler = () => {
// 页面大小发生改变 重新获取可视窗口的高度
const resizeHeight = document.documentElement.clientHeight || document.body.clientHeight
const activeElement = document.activeElement
// 如果 重新获取的高度小于初始高度那么认为此刻键盘弹起了
if (resizeHeight < originHeight) {
// 键盘弹起后逻辑
if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {
setTimeout(() => {
activeElement.scrollIntoView({ block: 'center' }) //焦点元素滚到可视区域的问题
}, 0)
// 键盘弹起需要隐藏的置底元素 设置隐藏 opacity:0
$("#dibu").hide();
}
} else {
// 键盘收起后逻辑
console.log('收起了')
// 键盘弹起需要展示的置底元素 设置展示 opacity:1
$("#dibu").show();
}
}
window.visualViewport.addEventListener('resize', resizeHandler)
h5手机页面输入框显示在上面,键盘无遮挡
最新推荐文章于 2024-05-06 18:26:11 发布