H5判断IOS或Android
// 判断设备类型
var judgeDeviceType = function(){
var ua = window.navigator.userAgent.toLocaleLowerCase();
var isIOS = /iphone|ipad|ipod/.test(ua);
var isAndroid = /android/.test(ua);
return{
isIOS: isIOS,
isAndroid: isAndroid
}
} ()
console.log(judgeDeviceType)
// 监听输入框的软键盘弹起和收起事件
function listenkeybord($input) {
if(judgeDeviceType.isIOS) {
// IOS 键盘弹起:IOS 和 Android 输入框获取焦点键盘弹起
$input.addEventListener('focus',function(){
console.log('IOS 键盘弹起啦!')
// IOS 键盘弹起后操作
},false)
}
// IOS 键盘收起:IOS 点击输入框以外区域或点击收起按钮,输入框都会失去焦点,键盘会收起,
$input.addEventListener('blur',function(){
console.log('IOS 键盘收起啦!')
// IOS 键盘收起后操作
});
// Andriod 键盘收起:Andriod 键盘弹起或收起页面高度会发生变化,以此为依据获知键盘收起
if(judgeDeviceType.isAndroid) {
var originHeight =document.documentElement.clientHeight ||document.body.clientHeight;
window.addEventListener('resize',function(){
var resizeHeight =document.documentElement.clientHeight || document.body.clientHeight;
if(originHeight < resizeHeight) {
console.log('Android 键盘收起啦!');
// Android 键盘收起后操作
}else {
console.log('Android 键盘弹起啦!');
// Android 键盘弹起后操作
}
originHeight =resizeHeight;
},false)
}
}
let $inputs = document.querySelectorAll('.input');
for(let i= 0;i < $inputs.length;i++) {
listenkeybord($inputs[i]);
}
更多相关文章
- Android软键盘适配问题
- Android(安卓)EditText不弹出软键盘
- 调出软键盘 挤掉标题栏咋办
- 解决Android编辑框在全屏模式下无法检测布局变化的问题
- Android(安卓)软键盘相关辅助类KeyBoardUtils
- android强制弹出键盘
- android 模拟按键
- android监听键盘弹出or隐藏方法
- android显示隐藏软键盘