jquerymobile的textarea在iOS端输入时会出现页面抖动
说实话我是做梦都没想到2023年了我还会去解决jquerymobile引起的bug,问题描述就是项目在iOS端随着用户在textarea内输入的时候页面会一直在抖,最后textarea被软键盘挡住,没办法使用。
最初查了很多,基本上都是使用input监听或者resize去解决,但是在我的记忆中没有position的textarea正常应该不会被挡住,更别说抖动了,于是经过多次实验,把问题定位在了jquerymobile上了。
但这个时候我陷入了难点,因为很难找到到底是哪里的问题,不过这时候就要请出万能的同事了,发动同事,大家一起在审查元素的监听器里一个一个的去试,阻断掉一个又一个方法后终于发现了,当把textarea的input和keyup两个事件同时禁用的时候,问题就没了,查看了源码发现,jquerymobile在输入的时候进行了聚焦,这个聚焦应该是和iOS自己的聚焦同时起了作用,反而引发了问题
所以解决方法就简单了:unbind一下就行了,最近在弄老项目,真的是jquery每天给我一个小惊喜啊