今天折腾了几个小时,就是解决了这个bug。
刚开始,我们调一个获取不到数据的bug,我安卓没有任何问题,他的苹果怎样都拿不到数据,找着找着,我们发现连从页面取值都取不了。这里就折腾了好久,期间同事不断提示我ios的键盘弹起来,页面底部会出现很大一片空白,是页面变形后不会自动恢复的问题,我当时觉得这个只是小问题,把大问题解决了再说吧。
后来我们进一步排查错误,最后发现,ios居然连点击事件都不触发,这是真的奇怪!唯一不妥之处是,页面先出现一个遮罩层,遮罩层里面有个textarea,点击textarea就会弹出键盘,把页面压变形。我当时疯狂查为什么不触发,却不解决这个页面变形的bug,后来在我没办法的时候。同事说,先把页面变形的问题解决了吧,我说好。原理很简单,键盘消失,也就是textarea触发blur事件的时候让页面滚动到顶部即可。

$('textarea').on('blur', () => {
	window.scrollTo(0, 0)
})

我让同事试试,说页面不变形了吧,同事说,不仅不变形了,而且点击事件也能触发了。我只好苦笑,这也太坑了吧。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐