Safari iOS上未触发Hammer.js滑动事件

Hammer.js swipe events not being triggered on Safari iOS

本文关键字:js 事件 Hammer iOS Safari      更新时间:2023-09-26

我正试图将滑动手势添加到图像转盘中,但我在iOS上的Safari遇到了问题。

我的hammer.js初始化如下:

this.mc = new Hammer.Manager(this.$carousel[0]);
this.mc.add(new Hammer.Swipe({
    direction: Hammer.DIRECTION_HORIZONTAL,
    threshold: 0
}));

其中this.$carousel[0]是包含所有图像的div,事件绑定设置如下:

this.mc.on('swipeleft', this.slideLeft.bind(this));
this.mc.on('swiperight', this.slideRight.bind(this));

但是,this.slideLeftthis.slideRight从未被调用。

奇怪的是,在不同的安卓版本上,相同的代码似乎在Chrome上运行良好,而且它只能在iPhone上的Safari上触发swipe*事件。

你知道我可能缺少什么吗?

我使用的2.0.1版本中存在一个错误,其中组成滑动事件的一些事件以错误的顺序启动;在2.0.6版本中,它似乎可以正常工作。