6

我可以在 Backbone.js 视图事件中使用滑动、点击、捏合等移动手势吗?更具体地说,以下是我的代码。

Backbone.View.extend({
     initialize:function(){
        //initialization 
     },
     Events:{
          "swipe-left #homeBtn":"homeSwipe"
     },
     homeSwipe:function(){
        alert("Event Swipe left triggered!");
     }
});

我可以使用滑动、向左/向右滑动、捏合、点击等移动手势来使用backbone.js吗?

4

2 回答 2

8

下载并包含Hammer.js,然后像往常一样使用 Backbone 视图事件!

events:{
    'swipe': 'onSwipe'
},

initialize: function(){
    // I think you can get away doing this here once, but I have not tested.
    // If not, just move it to the `render` method
    new Hammer(this.el);
},

onSwipe: function(e){
    console.log(e.direction); // left or right
}

另外,你可以看看我的简单Backbone view Gist

更新

根据反馈,看起来new Hammer(this.el)必须在主干视图上调用才能使其工作。我已经更新了示例以反映这一点。

于 2012-12-17T21:20:05.547 回答
0

Backbone依赖 jQuery.bind来管理 DOM 事件。

所以问题是,如果 jQuery 支持这些事件并且看起来像jQuery Mobile 那样,现在您必须检查如何集成 jQuery Mobile 和 Backbone

于 2012-04-23T09:26:34.060 回答