mTouch移动端 ( 兼容pc端) 手势操作库

mTouch

mTouch移动端 ( 兼容pc端) 手势操作库,view on github

支持的事件:

  • tap 单击

  • doubletap 双击

  • longtap 长按

  • swipestart 滑动开始

  • swipeend 滑动结束

  • swiping 滑动

  • swipeleft 向左划

  • swiperight 向右划

  • swipeup 向上划

  • swipedown 向下划

提供的接口

1、mTouch.config(配置项)
  mTouch.config({
    tapMaxDistance: 10,        //单击事件允许的滑动距离
    doubleTapDelay: 200,    //双击事件的延时时长(两次单击的最大时间间隔)
    longTapDelay: 700,        //长按事件的最小时长
    swipeMinDistance: 20,    //触发方向滑动的最小距离
    swipeTime: 300            //触发方向滑动允许的最长时长
  })

以上是默认值,可根据具体使用场景自行配制配置项,但需要注意每个配置项之间的约束关系,比如longTapDelay不能比doubleTapDelay小...

2、.on(eventType, [proxyStr], handler(event))

绑定事件方法,使用方式类似jQueryon方法,支持链式调用,支持事件委托,回调函数返回false阻止冒泡及默认行为,同样可以用原生的e.stoPropagation()e.preventDefault()

注:回调函数中被注入的参数event是拓展了的原生事件对象, 添加了属性event.mTouchEvent

mTouchEvent = {
  type: string,
  target: dom,
  pageX: number,
  pageY: number,
  startX: number,
  startY: number,
  moveX: number,
  moveY: number
}
其中 startX、startY、moveX、moveY 只有 swiping 事件才有

使用方法

mTouch('.btn').on('tap', function (e) {
  //...
}).on('doubletap', function (e) {
  //...
})
.on('longtap', function (e) {
  //...
});

mTouch('.btn-group').on('tap', '.btn', function (e) {
  //...
});
3、.off(eventType, proxyStr, handler)

取消绑定事件方法,使用方式类似jQueryoff,有一点需要注意,通过事件委托绑定的事件必须得由实际绑定事件的节点取消绑定,如:

mTouch('.btn-group').on('tap', '.btn', function (e) {
  //...
});

.btn的tap事件委托到.btn-group,要取消该tap事件,要这样做:
mTouch('.btn-group').off('tap', '.btn');

暂没有实现这种方式:
mTouch('.btn').off('tap'); //错误的方式

更多用法请查看 demo

感谢您的阅读!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值