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

时间:2018-05-16 10:27:32

标签: 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上,它会向下滚动或向上滚动视口。

使用Chrome查看移动设备上的http://86.62.248.112/en/以查看我正在谈论的内容,用手指点击最新新闻div并轻扫。

我该如何解决?

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果有人面临同样的问题,

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