Hammer JS刷日历日期

时间:2017-01-18 11:25:22

标签: jquery-plugins hammer.js

我有锤子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();
        });
    } });

1 个答案:

答案 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();
        }
    },