keyup-Ereignis nicht auslösen - backbone

Ich hab ein problem mit dem JQuery Ereignisse in meinem Rückgrat.Marionette Ansichten. Ich habe einige auf-und Tastatur-Ereignisse. Aber einige von Ihnen nicht arbeiten. Zum Beispiel möchte ich, dass die fetch-Funktion wird jedesmal aufgerufen, wenn das keyup-Ereignis ausgelöst wird.

So, hier ist der code:

return Backbone.Marionette.ItemView.extend({
  tagName: 'div',
  template: Template,
  events:{
     'click .yes': 'yes',
     'click .no': 'no',
     'keyup #citySearch': 'fetch'
  },
  yes : function() {
    this.close();
  },
  no : function() {
    this.close();
  },
  initialize: function(){
    this.collection = new AreaCollection();
    this.collection.on('sync', this.onShow, this);
    this.sourceArr = [];
  },
  onShow: function() {
      var that = this;
      $('#citySearch').typeahead({
          source: that.sourceArr
      });
  },
  fetch: function(ev) {
    var that = this;
    that.collection.fetch({
      data : {
        query : $(ev.currentTarget).val(),
        type : 'cities'
      },
      success: function(response) {
        for (var i = 0; i < response.length; i++) {
            that.sourceArr.push(response.models[i].get('name'));
        }
      }
    });
  }

});

Aber das keyup-Ereignis wird nie ausgelöst. Ich habe auch versucht es mit der "change"-Ereignis, welches auch nicht funktioniert. Wenn ich mit "keydown" oder "keypress", anstatt dann alles in Ordnung ist und die fetch-Funktion richtig aufgerufen worden ist.

Ich habe auch versucht, binden Sie das Ereignis, um das input-Feld manuell in der initialize-Funktion mit

    $('input#citySearch').bind('keyup',function() {
        console.log('keyup');
    });

Dies ist aber auch nicht funktioniert. Es funktioniert nur, wenn ich binden Sie das Ereignis, um das Eingabefeld in meinem Unterstrich-Vorlage-Datei. Aber das konnte nicht die Lösung sein.

Hat jemand eine Idee was das problem sein könnte?

Ist es möglich, dass die Ereignisprozedur das Feld über typeahead() ist greifen keyup und zur Verhinderung von Vermehrung?
Nein, dass ist auch nicht funktioniert, ich entfernte das Initialisierung der typeahead-Bereich und versucht, das keyup-event wieder

InformationsquelleAutor crebuh | 2013-06-10

Schreibe einen Kommentar