mui输入框防止页面回滚
在使用 mui 框架做表单提交的时候,如果表单数据非常多,并且需要 input 输入的,手机端输入框可能就很靠屏幕下方,这个时候输入完成后 input 失去焦点会发现页面会回滚到顶部,再次输入就要重新划拉屏幕,很不方便。
仔细观察会发现每次 input 获取&失去焦点的时候 body 标签会 新增&删除一个类名 mui-focusin
查看源码不难发现就是它导致的这个问题,提供两种方法规避这个问题:
在 input 获取焦点的时候将 body 中的
mui-focusin
类名移除:$("input").on("focus", function () { setTimeout(function () { $("body").removeClass("mui-focusin"); }, 10) })
1
2
3
4
5直接在 mui.min.js 中搜索以下代码,然后注释掉:
d.contains(c)&&(d.remove(c),setTimeout(function(){window.scrollTo(b.body.scrollLeft,b.body.scrollTop)},20))
1
编辑 (opens new window)
上次更新: 2023/12/15, 15:58:33