那些年我用MUI开发遇过的坑(二)
2016-08-09 14:24
190 查看
前些日子我开发的时候遇到了一个小问题(如图),在这个页面我有一个弹出菜单(popover),如果我不将菜单隐藏直接打开一个新的页面,那么神奇的事就发生了,这个菜单将会一直处于active状态,不会隐藏起来。
正常情况下,可能不是什么大问题,但是还是很影响用户体验的,也有可能会影响其他功能的实现。针对这个问题我上网百度了一下,有说利用mui('#popover').popover('hide')可以强制隐藏popover,但是我试过好像并不起作用。后来我在Dcloud的官方论坛上找到了一个比较靠谱的解决方案。原理就是在框架中重写一个隐藏的方法。具体的可以参见以下地址:
mui-popover如何强制隐藏 - DCloud问答
由于mui的不断更新,可能文章里面说的代码行数不一定正确,但是只要将代码复制到差不多的位置,还是可以运行成功的。我尝试了一下,这次popover总算是成功的藏起来了。但是又有一个问题衍生出来了,虽然popover隐藏起来了,但是我总感觉它好像一直存在。。。。。(多么灵异的事件啊)。。。于是我查看了一下代码,果然
他隐藏的方法只是将CLASS_ACTIVE这个class移除掉,那么这个CLASS_ACTIVE有是什么 呢,于是我又查看了一下源码,原来他只不过是将popover的透明度变回去了,难怪我觉得它一直都在。
对于这个问题修改起来其实也容易,我们只需要在上面hidePopover的方法中,添上一句或直接将popover.classList.remove(CLASS_ACTIVE)这句用popover.style.display='none',来代替就可以了。
正常情况下,可能不是什么大问题,但是还是很影响用户体验的,也有可能会影响其他功能的实现。针对这个问题我上网百度了一下,有说利用mui('#popover').popover('hide')可以强制隐藏popover,但是我试过好像并不起作用。后来我在Dcloud的官方论坛上找到了一个比较靠谱的解决方案。原理就是在框架中重写一个隐藏的方法。具体的可以参见以下地址:
mui-popover如何强制隐藏 - DCloud问答
由于mui的不断更新,可能文章里面说的代码行数不一定正确,但是只要将代码复制到差不多的位置,还是可以运行成功的。我尝试了一下,这次popover总算是成功的藏起来了。但是又有一个问题衍生出来了,虽然popover隐藏起来了,但是我总感觉它好像一直存在。。。。。(多么灵异的事件啊)。。。于是我查看了一下代码,果然
他隐藏的方法只是将CLASS_ACTIVE这个class移除掉,那么这个CLASS_ACTIVE有是什么 呢,于是我又查看了一下源码,原来他只不过是将popover的透明度变回去了,难怪我觉得它一直都在。
对于这个问题修改起来其实也容易,我们只需要在上面hidePopover的方法中,添上一句或直接将popover.classList.remove(CLASS_ACTIVE)这句用popover.style.display='none',来代替就可以了。
相关文章推荐
- 使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
- win10下为ionic搭载开发环境
- mui传参,ios和android系统有区别
- MUI 和 framework7区别之 UI组件的几点差异
- MUI传值
- 使用MUI框架构建App请求http接口实例
- HybridApp开发库
- mui初探笔记02
- MUI_5+SDK_Native.js
- mui ajax 带header 提交
- MUI-页面初始化
- MUI-ActionSheet动作菜单
- MUI-badge数字角标的基本使用
- MUI-按钮的基本使用
- MUI-CheckBox的基本介绍
- MUI-图片轮播控件
- MUI-LIST列表的基本使用
- HTML5+中动态构建列表并填充数据
- MUI -- plus初始化原理及plus is not defined,mui is not defined 错误汇总
- MUI 按两次返回键退出应用 及 地理位置获取