// 判断设备类型

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]);

}

更多相关文章

  1. Android软键盘适配问题
  2. Android(安卓)EditText不弹出软键盘
  3. 调出软键盘 挤掉标题栏咋办
  4. 解决Android编辑框在全屏模式下无法检测布局变化的问题
  5. Android(安卓)软键盘相关辅助类KeyBoardUtils
  6. android强制弹出键盘
  7. android 模拟按键
  8. android监听键盘弹出or隐藏方法
  9. android显示隐藏软键盘

随机推荐

  1. 使用NanoHttpd在Android上实现HttpServer
  2. Android: EditText设置属性和设置输入规则
  3. 如何创建一个Android原生的react-native
  4. android 止横屏和竖屏
  5. Android(安卓)WebView系列文章2-WebView
  6. Android(安卓)Binder -什么是binder
  7. android ExpandableListView使用
  8. 【Android】Broadcast广播机制总结
  9. 用Eclipse Galileo 装 ADT Android(安卓)
  10. Android系列教程之八:ListView组件的使用