mui简介
- MUI不依赖任何第三方JS库,原生UI(MUI以iOS平台UI为基础,补充部分Android平台特有的UI控件),结合H5 plus可实现更解决原生的APP应用
- APP开发类型:原生开发、H5开发、混合开发(Hybrid App:一部分功能用native构建,一部分功能用html5构建,比如AppCan、PhoneGap(Cordova)等)
- 官网:http://dev.dcloud.net.cn/mui/
事件
- js的
addEventListener()
方法只能监听某个特定元素上的事件(只能通过id获取元素,或者window对象等) 可以使用
.on()
方法实现批量元素的事件绑定1
2
3
4
5
6
7
8
9
10
11mui(".mui-table-view").on('tap', '.mui-table-view-cell', function(){
//获取id
var id = this.getAttribute("id");
//传值给详情页面,通知加载新数据
mui.fire(detail,'getDetail',{id:id});
//打开新闻详情
mui.openWindow({
id:'detail',
url:'detail.html'
});
})tap
为mui定义的点击时间mui(".mui-table-view")
根据class获取对象,只能获取非动态加入的DOM- 此处实际是监听
.mui-table-view
下的.mui-table-view-cell
的点击事件
<a>
标签点击无法跳转到href指定的连接,解决办法见下文
mui零散知识
- H5底部导航跳转
1 | <nav class="mui-bar mui-bar-tab"> |
1 | // a标签点击跳转:解决mui的a标签href无法跳转 |
- popover弹框、scroll滚动
- popover参数二为锚点元素(
anchorElement
),标识弹框是基于某个元素的。如果
- popover参数二为锚点元素(
1 | <div id="popover" class="mui-popover"><!--默认隐藏, dom在body下即可--> |
1 | (function(mui, window, document, undefined) { |
1 | #popover { |
- 图片上传,下列方法可解决mui示例中h5页面拍照无法上传问题(缺点:上传到后台无法记录文件类型,无文件后缀)
- 利用canvas将图片转成base64并压缩 -> 将base64的dataUrl转成Blob -> 将Blob放入到FormData -> xhr
1 | // ======= |