846767652@qq.com
846767652@qq.com
  • 发布:2018-04-03 10:20
  • 更新:2019-07-05 10:30
  • 阅读:2015

为什么使用mui框架后,input标签失焦后,会滚到顶部?

分类:MUI

详细问题描述
为什么使用mui框架后,input标签失焦后,会滚到顶部?

重现步骤
输入框在页面的最底部,输入完后点击其他区域,光标离开input框,页面滚动到顶部
[步骤]
[结果]
[期望]

运行环境
pc,微信,都不正常
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
1343796259
[QQ]
[电话]

2018-04-03 10:20 分享
已邀请:
hylong

hylong

mui监听了失去焦点的事件。
你可以把上面整体内容高度固定,然后加个overflow:scroll。这样也可以解决问题

suiyuanyu945@163.com

suiyuanyu945@163.com

mui.js 文件,大约1086行,删除setTimeout

document.addEventListener('focusout', function(e) {
var classList = document.body.classList;
if (classList.contains(CLASS_FOCUSIN)) {
classList.remove(CLASS_FOCUSIN);
/setTimeout(function() {
window.scrollTo(document.body.scrollLeft, document.body.scrollTop);
}, 20);
/
}
});

秋天无风

秋天无风

强制加一层滚动,好像可以解决。

<div class="mui-scroll-wrapper">  
    <div class="mui-scroll">  
        <!--这里放置真实显示的DOM内容-->  
    </div>  
</div>  
mui('.mui-scroll-wrapper').scroll({  
    deceleration: 0.0005 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006  
});  
美美啊

美美啊

这问题我刚也遇到了,解决方法很简单,$("input").on("blur", function () {
$("body").removeClass("mui-focusin")
})
在js中加一行这段代码就好了

要回复问题请先登录注册