HammerJS垂直滑动和垂直滚动同时进行

时间:2018-03-29 21:06:41

标签: javascript angular mobile hammer.js

我在角度5上有一个全页网站,通过垂直向下和向上滑动进行分页(在desctop版本上正在侦听滚轮事件)。在移动设备上我遇到了非隐藏地址栏的严重问题,因为页面上没有滚动(页面具有视口大小)。所以我的结构看起来像这样:

<div (swipeup)="fnc()" (swipedown)="fnc()">
    Container handling vertical swipes and has touch-action: pan-y property 
    and 100vh height
    <component>Container handles horizontal swipes inside components</component>
</div>

我目前的Hammer配置:

mc.get('pinch').set({enable: false});
mc.get('rotate').set({enable: false});
mc.get('swipe').set({direction: Hammer.DIRECTION_ALL});
mc.get('pan').set({direction: Hammer.DIRECTION_ALL});

{ "touchAction": "pan-y" }选择了处理垂直滑动的容器。

使用此配置,我可以滚动隐藏地址栏,但垂直滑动不起作用(或者在奇怪的情况下它会超级罕见)。但是我希望每次滚动结束时都不会触发垂直滑动(当我滚动到底部并且我的地址栏变为隐藏时,它应该在下一次向同一方向滑动时触发)。

我将非常感谢有关如何以不同方式做到这一点的任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

new Hammer(element, {
   inputClass: Hammer.TouchInput,
});

这次尝试