Hammer.js 在 Safari 上未触发滑动事件 iOS
Hammer.js swipe events not being triggered on Safari iOS
我正在尝试向图像轮播添加滑动手势,但我在 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.slideLeft
和 this.slideRight
永远不会被调用。
奇怪的是,相同的代码在 Chrome 上似乎在不同的 Android 版本上工作正常,并且它无法仅在 iPhone 上的 Safari 上触发 swipe*
事件.
关于我可能遗漏的任何想法?
原来在我使用的版本 2.0.1 中存在一个错误,其中构成滑动事件的一些事件以错误的顺序触发;对于 2.0.6 版,它似乎按预期工作。
我正在尝试向图像轮播添加滑动手势,但我在 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.slideLeft
和 this.slideRight
永远不会被调用。
奇怪的是,相同的代码在 Chrome 上似乎在不同的 Android 版本上工作正常,并且它无法仅在 iPhone 上的 Safari 上触发 swipe*
事件.
关于我可能遗漏的任何想法?
原来在我使用的版本 2.0.1 中存在一个错误,其中构成滑动事件的一些事件以错误的顺序触发;对于 2.0.6 版,它似乎按预期工作。