2013-04-18 5 views
6

Ich versuche, Hammer js Ereignisse arbeiten mit Backbone, aber es kann nicht bekommen, um auf Ereignisse reagieren. Ich habe folgendes schon versucht ..Hammer JS funktioniert nicht mit Backbone

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

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

Ich habe auch unten Stück Code in meiner Ansicht nach setzen

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

JS Fiddle: http://jsfiddle.net/XcYhD/

Code

<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(); 

Bibliotheken inklusive - hammer.js, jquery.specialevent.hammer.js, etc ..

Auf jeden Fall zu bekommen arbeiten sie?

+0

Mögliche doppelte/Lösung: http://stackoverflow.com/questions/16067989/overriding-backbone-view-delegateevents-so-the-events-object-can -include-mobil. – Loamhoof

Antwort

11

Sie brauchen nicht das spezielle Ereignisse-Plugin, ich würde nur mit dem jquery-Plugin gehen und dann die hammer() Funktion in Ihrem Render ausführen.

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

Hier ist eine aktualisierte Geige: http://jsfiddle.net/XcYhD/20/