Safari中的Hammerjs:滚动问题

时间:2018-08-13 04:23:14

标签: angularjs safari mobile-safari hammer.js

我想允许水平滑动事件并保持垂直滚动。 所以用这个:

touch-action: pan-y !important;

但是Safari不支持“触摸操作”。 HammerJS preventDefaults无法检测到“触摸动作:pan-y” css,因此阻止了滚动。

因此,滑动操作效果不错,但无法滚动Safari。滑动和滚动均可在其他支持“触摸操作”的浏览器上进行。

我正在使用angular2。

<div (swipeleft)="swipe($event)" (swiperight)="swipe($event)">

请帮助!我缺少任何配置吗?

1 个答案:

答案 0 :(得分:2)

我找到了解决方法

1)将其添加到app.module.ts

export class BaluHammerConfig extends HammerGestureConfig {
    overrides = {
        pan: {
             direction: 6
      },
      pinch: {
          enable: false
      },
      rotate: {
          enable: false
      }
  };
}

2)与其在您的提供程序中添加HammerGestureConfig,不如使用它:

{
    provide: HAMMER_GESTURE_CONFIG,
    useClass: BaluHammerConfig
},