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 我得到了这个错误:未捕获的类型错误:对象 [对象对象] 没有方法“关闭”。我需要改变什么来处理主干 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,并且在 jquery 1.7.0 上引入了 off 方法。Backbone 0.9.9 要求 el 包含 unbind 方法,而 Backbone 0.9.10 要求 el 包含 off 方法。jquery 1.5.2 上存在 unbind 方法,这就是我的代码与骨干 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 回答