Angular 2移动手势阻止垂直滚动

时间:2016-10-01 20:37:20

标签: angular angular2-template angular2-directives hammer.js angular2-services

移动手势会阻止页面上的垂直滚动。

例如我有以下div:

<div (swipeleft)="onSwipeLeft()" (swiperight)="onSwipeRight()">
contents....
</div>

当我向左滑动或向右滑动时,它可以正常工作,但是对于具有长内容的页面有问题,它不允许在这些页面上进行垂直滚动。

1 个答案:

答案 0 :(得分:1)

因为hammerjs刷卡是建立在CSS&#34; 触摸操作&#34;之上的。属性,iOS不支持。 http://caniuse.com/#feat=css-touch-action

更新:您可以通过进入hammer.js文件并稍作修改来解决此问题。注释掉分别在1262和1307行附近的以下两个代码块。

首先是这个...

if (this.manager.session.prevented) {
  srcEvent.preventDefault();
  return;
}

然后注释掉此功能的正文

preventSrc: function(srcEvent) {
  this.manager.session.prevented = true;
  srcEvent.preventDefault();
}

重建您的应用,然后将主html文件更改为指向此新修改的锤文件。