123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /**
- * mui gesture drag[start|left|right|up|down|end]
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
- (function($, name) {
- var handle = function(event, touch) {
- var session = $.gestures.session;
- switch (event.type) {
- case $.EVENT_START:
- break;
- case $.EVENT_MOVE:
- if (!touch.direction || !session.target) {
- return;
- }
- //修正direction,可在session期间自行锁定拖拽方向,方便开发scroll类不同方向拖拽插件嵌套
- if (session.lockDirection && session.startDirection) {
- if (session.startDirection && session.startDirection !== touch.direction) {
- if (session.startDirection === 'up' || session.startDirection === 'down') {
- touch.direction = touch.deltaY < 0 ? 'up' : 'down';
- } else {
- touch.direction = touch.deltaX < 0 ? 'left' : 'right';
- }
- }
- }
- if (!session.drag) {
- session.drag = true;
- $.trigger(session.target, name + 'start', touch);
- }
- $.trigger(session.target, name, touch);
- $.trigger(session.target, name + touch.direction, touch);
- break;
- case $.EVENT_END:
- case $.EVENT_CANCEL:
- if (session.drag && touch.isFinal) {
- $.trigger(session.target, name + 'end', touch);
- }
- break;
- }
- };
- /**
- * mui gesture drag
- */
- $.addGesture({
- name: name,
- index: 20,
- handle: handle,
- options: {
- fingers: 1
- }
- });
- })(mui, 'drag');
|