javascript - 如何阻止hammer.js与正常滚动冲突

标签 javascript jquery hammer.js

我使用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/

相关文章:

angular - 锤子 : enable vertical scroll with horizontal swipe

javascript - 使用 Javascript 和 Hammer.js 查找同级

导入脚本中文件名的 javascript 正则表达式 (js/css)

javascript - 字符串修改

javascript - 读出 JavaScript onClick 函数体并将其用于另一个 onClick

javascript - jQuery.ajaxSetup() 被忽略

javascript - 如何在回发javascript后保留下拉列表选定的值?

javascript - 单击react.js 切换列表的背景颜色

javascript - 带有选择、复选框和单选按钮的 Angular JS 表单

javascript - 使用 JavaScript 创建自定义触摸手势