Parcourir la Source

组件上下滚动阻止优化

guohh 4 ans auparavant
Parent
commit
095d12c888
1 fichiers modifiés avec 5 ajouts et 3 suppressions
  1. 5 3
      2020/short-video-ui/biz/js/common/LeftSwipe.js

+ 5 - 3
2020/short-video-ui/biz/js/common/LeftSwipe.js

@ -28,7 +28,7 @@ define(['jquery', 'Hammer'], function ($, Hammer) {
28 28
      var that = this;
29 29
      this.elWrapper = $(">ul", this.el);
30 30
      var hammer = this.hammer = new Hammer.Manager(this.el, {inputClass: Hammer.TouchMouseInput}); // 组件默认使用的PointInput有flex元素时,会奇怪的自动触发cancel事件
31
      hammer.add(new Hammer.Pan({direction: Hammer.DIRECTION_HORIZONTAL, threshold: 5})); // 水平方向最小距离5Ft识别为平移手势
31
      hammer.add(new Hammer.Pan({direction: Hammer.DIRECTION_HORIZONTAL, threshold: 20})); // 水平方向最小距离5Ft识别为平移手势
32 32
      hammer.on("panstart panmove panend pancancel", Hammer.bindFn(that._onPan, this));
33 33
      // console.log(hammer);
34 34
      this.rightWidth = $(this.opt.rightSlt, this.el).width(); // 获取可移动总宽度
@ -41,7 +41,9 @@ define(['jquery', 'Hammer'], function ($, Hammer) {
41 41
    _onPan: function (ev) {
42 42
      var delta = ev.deltaX;
43 43
      // console.log(ev);
44
      ev.preventDefault();  // 防止左右滑动处理时,出现上下滚动
44
      if (ev.srcEvent.cancelable) {
45
        ev.srcEvent.preventDefault();  // 防止左右滑动处理时,出现页面上下滚动,因为增加监听事件时未处理,好像阻止不了
46
      }
45 47
      ev.srcEvent.stopImmediatePropagation(); // 防止左右滑动处理时,出现上下滚动,iScroll的情况
46 48
      // console.log(ev.type, ev.deltaX);
47 49
@ -93,7 +95,7 @@ define(['jquery', 'Hammer'], function ($, Hammer) {
93 95
      this.touchStartHandleFun = $.proxy(this._touchHandle, this);
94 96
      $("body").on("touchstart", this.touchStartHandleFun);
95 97
    },
96
    _removeTouchStartListen(){
98
    _removeTouchStartListen() {
97 99
      $("body").off("touchstart", this.touchStartHandleFun);
98 100
    },
99 101
    _touchHandle(e) {