【问题标题】:How to stop hammer.js from conflicting with the normal scrolling如何阻止hammer.js与正常滚动冲突
【发布时间】:2018-05-16 10:27:31
【问题描述】:

我使用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 上,它不会向下或向上滚动视口。

使用 chrome 在移动设备上查看 http://86.62.248.112/en/ 以查看我在说什么,将手指放在最新新闻 div 上并滑动。

我该如何解决这个问题?

提前致谢。

【问题讨论】:

    标签: javascript jquery hammer.js


    【解决方案1】:

    如果有人遇到同样的问题,

    首先您需要更新您的hammer.js 版本,然后将touch-action:pan-y 添加到相关的div。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-17
      相关资源
      最近更新 更多