7

私はこのイベントについての見解を持っています:

var View = Backbone.View.extend({
  el: $('#test'),
  events: {
    "change input": "test"
  },
  test: function(e) {
    console.log("test");
  }
});

var view = new View();

バックボーン0.9.9では機能しますが、バックボーン0.9.10では次のエラーが発生しました:Uncaught TypeError:Object[objectObject]にはメソッド'off'がありません。バックボーン0.9.10のイベントを処理するには、何を変更する必要がありますか?

私はこのcdnを使用しています

http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.10/backbone -min.js

ありがとう

4

2 に答える 2

12

私はjquery 1.5.2を使用していました.offメソッドはjquery 1.7.0で導入されました. Backbone 0.9.9 では、el にメソッド unbind が含まれている必要がありますが、Backbone 0.9.10 では、el にメソッド off が含まれている必要があります。unbind メソッドは jquery 1.5.2 に存在し、それが私のコードがバックボーン 0.9.9 で動作した理由です。

于 2013-02-14T14:35:39.847 に答える
1

これを試して...

var Test = Backbone.View.extend({
  events: {
    "change input": "test"
  },

  initialize: function() {
    this.setElement($('#test'));
  },

  test: function(e) {
    alert("test");
  }
});

var test = new Test();

というか、この方が良いかも…

var Test = Backbone.View.extend({
  events: {
    "change input": "test"
  },

  test: function(e) {
    alert("test");
  }
});

var test = new Test({
  el: $('#test')
});
于 2013-02-13T22:13:06.800 に答える