问题描述
如下图:(可以确定是 mui.js引起的)
- 当页面比较长 出现滚动条,页面中有表单元素input,当聚焦一个input,切换聚焦到另外一个input,页面会自动滚到顶部 。
- 该问题引起的用户体验极差,每次在页面底部,聚焦一个input 页面就自动滚动到顶部。简直恶心。
- 该情况发生在ios中 安卓好像没有。在用谷歌浏览器调试的时候,也会出现该情况。

问题分析
这里懒得截图了,在用谷歌浏览器调试的时候,你会发现。每次聚焦的时候 body 元素都会被添加特定的样式(也有其他样式) mui-focusin
失去焦点的时候该样式会被移除。
解决方法
- 找到项目中的mui.js(mui.min.js 建议换非压缩版修改代码)
- mui.js 版本 v3.7.3
- 找到特定代码位置做如下修改

补充说明
- 具体问题可能需要具体分析了。至于怎么改,方法不定,需要花时间看看源码。
- 我的项目是 html5 页面。 当前这样的修改正好可以解决问题。也刚好没有引起其他的问题。

在含有mui.js的HTML5页面中,当页面有多个input元素并发生聚焦切换时,iOS设备会出现页面自动滚动到顶部的现象,严重影响用户体验。此问题在安卓和Chrome浏览器中同样存在。问题源于body元素在聚焦时被添加了mui-focusin样式。通过找到并修改mui.js中的特定代码,可以在不影响其他功能的情况下解决这个问题。对于类似问题,建议深入研究源码以找出最佳解决方案。
最低0.47元/天 解锁文章
1076

被折叠的 条评论
为什么被折叠?



