一 事件绑定监听
1 事件绑定的方法:
除了可以使用addEventListener()方法监听某个特定元素上的事件外, 也可以使用.on()方法实现批量元素的事件绑定。
2 事件绑定示例:
点击图片轮播,获取当前轮播项元素的data-id执行bookDetails(res)方法,跳转到对应的小说详情页。
//点击进入图书信息详情页mui('.mui-slider').on('tap','.mui-slider-item',function(){bookDetails(this);});/** 点击打开图书信息页面*/function bookDetails(res){var bookid = res.getAttribute('data-id');//非plus环境,直接走href跳转if(!mui.os.plus) {location.href = 'details.html?id='+bookid;return;}//plus环境,APP环境下执行……}
3 事件绑定及监听对比
1.单击事件绑定
单击Class类名为’bot’元素下的不同id响应不同的事件
//单击mui('.bot').on('tap','#fontSizePlus',function(){fontSizePlus();});mui('.bot').on('tap','#fontSizeMinus',function(){fontSizeMinus();});
2.单击事件监听
addEventListener监听Class类名为’bot’元素下的不同id被单击时响应不同的事件
document.getElementById('fontSizePlus').addEventListener('tap', function() {fontSizePlus();});document.getElementById('fontSizeMinus').addEventListener('tap', function() {fontSizeMinus();});
二 手势事件
在开发移动端的应用时,会用到很多的手势操作,比如滑动、长按等,为了方便开放者快速集成这些手势,mui内置了常用的手势事件,详见官网API(http://dev.dcloud.net.cn/mui/event/#gesture )。
1 目前支持的手势事件见如下列表:
| 分类 | 参数 | 描述 |
|---|---|---|
| 点击 | tap | 单击屏幕 |
| doubletap | 双击屏幕 | |
| 长按 | longtap | 长按屏幕 |
| hold | 按住屏幕 | |
| release | 离开屏幕 | |
| 滑动 | swipeleft | 向左滑动 |
| swiperight | 向右滑动 | |
| swipeup | 向上滑动 | |
| swipedown | 向下滑动 | |
| 拖动 | dragstart | 开始拖动 |
| drag | 拖动中 | |
| dragend | 拖动结束 |
2 手势事件配置
根据使用频率,mui默认会监听部分手势事件,如点击、滑动事件;为了开发出更高性能的moble App,mui支持用户根据实际业务需求,通过mui.init方法中的gestureConfig参数,配置具体需要监听的手势事件。
mui.init({gestureConfig:{tap: true, //默认为truedoubletap: true, //默认为falselongtap: true, //默认为falseswipe: true, //默认为truedrag: true, //默认为truehold:false,//默认为false,不监听release:false//默认为false,不监听}});
注意:dragstart、drag、dragend共用drag开关,swipeleft、swiperight、swipeup、swipedown共用swipe开关
