在移动端开发的时候往往会遇见一些需求,比如有一个输入框,点击输入框弹起键盘的时候要求把输入框的模块顶起来,键盘收起的时候高度恢复原状。 在网上查了一下,很多的解决方案都是监听器监听页面的高度变化,然后执行对应的操作去实现“顶起来”这个操作,然而并不是所有的键盘出现这个动作会使页面高度发生变化,比如安卓键盘又或者是ios的第三方键盘,都不会使页面能被监听到resize,而是键盘类似于一个浮层,所有页面高度没有变化。 这时的处理办法就是通过监听input框的获取焦点、失去焦点的回调去手动调整页面的高度。 但是此时还有一个问题就是键盘上有一个键盘收起的按钮,点击这个按钮会造成键盘收起但input框焦点没有失去,此时就会出现高度没有变化回去但是键盘已经不见了的尴尬情况。 所以我们还要加上针对手机的键盘弹出收起的监听,才可以完美避开所有的问题,如果有其他的好方法就好了,希望各位大佬针对上面的情况不吝赐教。