所以我使用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()
,则会阻止用户在触摸此区域时向上和向下滚动。这是一个问题,因为在手机设备上,这个小区域会占据整个屏幕,因此用户无法上下滚动页面。
所以问题是:我可以左右滑动防止默认并保持上下触摸滚动的能力吗?