Javascript:Zepto向左和向右滑动,向上滚动+向下滚动

时间:2012-08-30 13:38:47

标签: javascript touch preventdefault zepto

所以我使用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(),否则偶尔对角线滑动将触发滑动,并滚动页面。这是一个问题,因为在页面滚动发生时,它会阻止动画渲染。但是,如果我使用preventDefault(),则会阻止用户在触摸此区域时向上和向下滚动。这是一个问题,因为在手机设备上,这个小区域会占据整个屏幕,因此用户无法上下滚动页面。

所以问题是:我可以左右滑动防止默认并保持上下触摸滚动的能力吗?

0 个答案:

没有答案