mui.gestures.swipe.js 805 B

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * mui gesture swipe[left|right|up|down]
  3. * @param {type} $
  4. * @param {type} name
  5. * @returns {undefined}
  6. */
  7. (function($, name) {
  8. var handle = function(event, touch) {
  9. var session = $.gestures.session;
  10. if (event.type === $.EVENT_END || event.type === $.EVENT_CANCEL) {
  11. var options = this.options;
  12. touch.swipe = false;
  13. //TODO 后续根据velocity计算
  14. if (touch.direction && options.swipeMaxTime > touch.deltaTime && touch.distance > options.swipeMinDistince) {
  15. touch.swipe = true;
  16. $.trigger(session.target, name, touch);
  17. $.trigger(session.target, name + touch.direction, touch);
  18. }
  19. }
  20. };
  21. /**
  22. * mui gesture swipe
  23. */
  24. $.addGesture({
  25. name: name,
  26. index: 10,
  27. handle: handle,
  28. options: {
  29. swipeMaxTime: 300,
  30. swipeMinDistince: 18
  31. }
  32. });
  33. })(mui, 'swipe');