2013-04-18 12 views
6

私はバックボーンで動作するハンマーjsイベントを取得しようとしていますが、イベントに応答することはできません。 私はまた私の見解Hammer JSがバックボーンと連携していません

initialize: function(){ 
    this.events = _.extend({}, this.defaultEvents, this.events||{});  
} 

JSフィドルにコードの部分の下に置かれている...すでに

http://cijug.net/tech/2013/01/16/backbone-hammer/

https://gist.github.com/kjantzer/4279025

を次のように試してみた:http://jsfiddle.net/XcYhD/

コード

<div id="swiping"></div> 

JS 

AppView = Backbone.View.extend({ 

    el: '#swiping',   

    events: { 
    'swipe': 'swipeMe' 
    }, 

    render: function(){    
    this.$el.html('<h2>Swipe Me</h2>'); 
    }, 

    swipeMe: function(e){     
    alert('swiped ' + e.direction); 
    } 

}); 

var view = new AppView(); 
view.render(); 

ライブラリが含まれています - hammer.js、jquery.specialevent.hammer.js、など。

とにかくそれが動作を取得しますか?

+0

可能な重複/ソリューション:http://stackoverflow.com/questions/16067989/overriding-backbone-view-delegateevents-so-the-events-object-can -include-mobile。 – Loamhoof

答えて

11

特別イベントプラグインは必要ありません。jqueryプラグインを使用して、レンダリングでhammer()関数を実行するだけです。ここで

render: function(){    
    this.$el.html('<h2>Swipe Me</h2>'); 
    this.$el.hammer(); 
    }, 

が更新さフィドルです: http://jsfiddle.net/XcYhD/20/

関連する問題