安卓和ios键盘挡住输入内容
2018-08-03 08:09:55来源:博客园 阅读 ()
<script>
let iosUser = window.navigator.userAgent.indexOf('iPhone')
let inp = document.querySelector('#inp');//input输入框
if (iosUser != -1) {
var bfscrolltop = document.body.scrollTop;//获取软键盘唤起前浏览器滚动部分的高度
inp.focus(function () {//在这里‘input.inputframe’是我的底部输入栏的输入框,当它获取焦点时触发事件
interval = setInterval(function () {//设置一个计时器,时间设置与软键盘弹出所需时间相近
document.body.scrollTop = document.body.scrollHeight;//获取焦点后将浏览器内所有内容高度赋给浏览器滚动部分高度
}, 100)
}).blur(function () {//设定输入框失去焦点时的事件
clearInterval(interval);//清除计时器
document.body.scrollTop = bfscrolltop;//将软键盘唤起前的浏览器滚动部分高度重新赋给改变后的高度
});
} else {
inp.onclick = function (ev) {
document.querySelector('body').style.height = '999px';
inp.style.position = 'static';
setTimeout(function () {
document.body.scrollTop = document.documentElement.scrollTop = inp.getBoundingClientRect().top + pageYOffset - 300;
}, 50);
window.addEventListener('touchmove', fn, false);
}
inp.onblur = function () {
document.querySelector('body').style.height = "auto"
document.querySelector('body').removeAttribute('style')
window.removeEventListener('touchmove', fn, false)
}
//触摸取消blur
function fn(ev) {
var _target = ev.target || ev.srcElement;
if (_target.nodeName != 'INPUT') {
inp.blur();
}
ev.preventDefault()
}
}
</script>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- js判断客户端是iOS还是Android等移动终端的方法 2020-02-25
- 三、VUE项目BaseCms系列文章:axios 的封装 2019-08-14
- [Vue 牛刀小试]:第十五章 - 传统开发模式下的 axios 使用入 2019-08-14
- layui 框架 table插件 实现键盘快捷键 切换单元格编辑 2019-08-14
- 原生 Ajax 封装 和 Axios 二次 封装 2019-05-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash