我有锤子js和jquery-hammer插件,可以处理非常简单的滑动动作。
应该发生的事情是,当我向左滑动时,我有一个日历,日期可以追溯到一天,当我向右滑动时,它应该向前移动一天。在我滑动的那一刻,它会跳转多天,具体取决于我滑动的方向和刷卡的时间(我猜测)。
当我将此功能更改为左右容器上的简单点击事件时,日期只会按预期每次点击一天。
event.gesture.preventDefault();
给出"非功能错误"
如何才能让滑动只为每次滑动调用此功能一次?
module.exports = View.extend({
template: 'bookings/templates/components/body',
className:'bookings-lists',
deviceType: App.browser.device.deviceType,
events: {
'swipe' : 'swipeMe'
},
swipeMe: function(e){
var that = this;
container.hammer().on('swipeleft', function(event) {
event.gesture.preventDefault();
that.model.pushDateForward();
}).on('swiperight', function(event) {
event.gesture.preventDefault();
that.model.pushDateBackward();
});
} });
答案 0 :(得分:0)
我上面的评论是完全错误的。检查滑动的方向,而不是仅依靠内置的“swipeleft”或“swiperight”工作。不再有多个日期更改。
swipeMe: function(e){
if(e.gesture.direction === 4)
{
e.preventDefault();
this.model.pushDateBackward();
}
else if(e.gesture.direction === 2)
{
e.preventDefault();
this.model.pushDateForward();
}
},