我使用hammer.js 来检测拖动和滑动。
这就是代码:
var element = document.getElementById('pinwall-grid');
var hammertime = Hammer(element).on("drag", function (event) {
direction = event.gesture.direction;
if (direction == 'left') {
var $meN = $('.pinwall-grid .ctrl a.next');
if (!$meN.hasClass("nextD")) {
$meN.trigger('click');
}
console.log('left');
} else if (direction == 'right') {
var $meP = $('.pinwall-grid .ctrl a.prev');
if (!$meP.hasClass("prevD")) {
$meP.trigger('click');
}
console.log('right');
}
event.gesture.stopDetect();
});
如果您在移动设备上上下滑动并且手指位于我使用hammer.js定位的div上,则它不会向下或向上滚动视口(viewport)。
检查http://86.62.248.112/en/在移动设备上使用 Chrome 浏览我正在谈论的内容,将手指放在最新新闻 div 上并滑动。
我该如何解决这个问题?
提前致谢。
最佳答案
如果有人遇到同样的问题,
首先您需要更新 Hammer.js 的版本,然后将 touch-action:pan-y
添加到相关的 div 中。
关于javascript - 如何阻止hammer.js与正常滚动冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368435/