简介
笔者一年前写的一个 npm 包,又用上了就补一下文章。
-
当初在网上找监听虚拟键盘弹出的模块没有找到就自己写了一个npm 包 virtualkeyboard
-
由于是第一次写npm 包没有进行es5编码使用可能会有点兼容性问题可直接复制下方原码到项目中
-
同时监听安卓和ios虚拟键盘
-
可用于react,vue,小程序等js代码的框架中
新建一个文件放入下放代码 如VirtualKeyboard
/**
*
* @class 监听虚拟键盘
* @classdesc 监听虚拟键盘弹出隐藏
* @public onEnd 结束监听虚拟键盘
* @public onShow 传递一个回调 监听虚拟键盘弹出
* @public onHidden 传递一个回调 监听虚拟键盘隐藏
*/
class VirtualKeyboard {
/** @param 设备类型 1 安卓 2苹果 */
type: number
private originalHeight: number
private show: any
private hidden: any
constructor() {
this.type = this.IsIA()
this.originalHeight =
document.documentElement.clientHeight || document.body.clientHeight
}
/**
* @function onShow 传递一个回调函数
* @param 虚拟键盘弹出时触发
*/
onShow = (fn?: any) => {
this.show = fn
}
/**
* @function onHidden 传递一个回调函数
* @param 虚拟键盘隐藏时触发
*/
onHidden = (fn?: any) => {
this.hidden = fn
}