“未捕获的TypeError:对象[对象对象]没有方法'关闭'”错误使用事件移动到主干0.9.10

时间:2013-02-13 16:33:27

标签: backbone.js backbone-events

我对此事件有一个看法:

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我得到了这个错误:未捕获TypeError:对象[object Object]没有方法'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

由于

2 个答案:

答案 0 :(得分:12)

我正在使用jquery 1.5.2,并且在jquery 1.7.0上引入了off方法。 Backbone 0.9.9要求el包含unbind方法,而Backbone 0.9.10要求el包含off方法。方法unbind存在于jquery 1.5.2上,这就是我的代码与主干0.9.9一起工作的原因。

答案 1 :(得分: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')
});