mui input聚焦引起的页面滚动

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

mui表单元素 input聚焦引起的页面滚动

问题描述

如下图:(可以确定是 mui.js引起的)

  • 当页面比较长 出现滚动条,页面中有表单元素input,当聚焦一个input,切换聚焦到另外一个input,页面会自动滚到顶部 。
  • 该问题引起的用户体验极差,每次在页面底部,聚焦一个input 页面就自动滚动到顶部。简直恶心。
  • 该情况发生在ios中 安卓好像没有。在用谷歌浏览器调试的时候,也会出现该情况。
    在这里插入图片描述

问题分析

这里懒得截图了,在用谷歌浏览器调试的时候,你会发现。每次聚焦的时候 body 元素都会被添加特定的样式(也有其他样式) mui-focusin
失去焦点的时候该样式会被移除。

解决方法

  • 找到项目中的mui.js(mui.min.js 建议换非压缩版修改代码)
  • mui.js 版本 v3.7.3
  • 找到特定代码位置做如下修改
    在这里插入图片描述

补充说明

  • 具体问题可能需要具体分析了。至于怎么改,方法不定,需要花时间看看源码。
  • 我的项目是 html5 页面。 当前这样的修改正好可以解决问题。也刚好没有引起其他的问题。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值