1

所以我使用 Zepto 库对左右滚动的元素列表执行一些滑动操作。代码非常简单,如下所示:

Zepto('#planlist').swipeRight(function() {
    self.click_left();
});
Zepto('#planlist').swipeLeft(function() {
    self.click_right();
});

它只是调用与我的单击按钮相同的操作:

click_left: function() {
    if(this.position > 0) {
        -- this.position;
        this.animate();
    }
},
click_right: function() {
    if(this.position < this.plans.length - 1) {
        ++ this.position;
        this.animate();
    }
}

无论如何。问题是,除非我preventDefault()在滚动上设置 a ,否则有时对角线滑动会触发滑动并滚动页面。这是一个问题,因为当页面滚动发生时,它会阻止动画呈现。但是,如果我使用preventDefault(),它会阻止用户在触摸此区域时上下滚动。这是一个问题,因为在手机设备上,这个小区域占据了整个屏幕,所以用户没有能力上下滚动页面。

所以问题是:我可以让左右滑动preventDefault并保持向上和向下触摸滚动的能力吗?

4

0 回答 0