我正在使用Hammerjs/Hammertime
要在移动平台上实现一个滑动功能,并且似乎无法让它与垂直滚动一起工作。当我水平滑动的时候工作的很好。这是我的代码:
var resim = jQuery(".perks-carousel-cont li");
resim.hammer().on("swipe", function(ev) {
var targetLi = this;
animateLisMob(targetLi);
});我相信Hammertime (它添加到锤子js上)没有启用垂直滚动,只是水平滚动。在研究这个问题之后,下面的代码行应该修复它:
hammertime.get('swipe').set({ direction: Hammer.DIRECTION_VERTICAL });当我实现这个困难时,我得到了一个hammertime未定义的控制台错误。为了按照他们的文档定义Hammerstime,我尝试在没有选项参数的情况下添加它:
var hammertime = new Hammer(resim);但是我得到了一个错误:
Uncaught : a.addEventListener不是函数
不知道我哪里出了问题..。
发布于 2016-11-16 16:11:19
滑动手势识别器使锤子将touch-action: pan-y css属性应用到DOM节点its,
这基本上告诉浏览器忽略所有垂直手势,您就不会得到垂直滚动。
要解决这个问题,只需在hammer的选项{touchAction: 'auto'}中指定,而不使用jQuery,如下所示:
var hammertime = new Hammer(domElement, {touchAction: 'auto'});
hammertime.on('swipe', function(ev) {
var targetLi = this;
animateLisMob(targetLi);
});https://stackoverflow.com/questions/40462721
复制相似问题