绑定事件的时候一定要先在render中去渲染一下。要不然无法使用events:{} ;来绑定事件。
比如我想给#btn绑定click 事件 直接使用events:{ 'click #btn':''fn}是不能绑定上的。
绑定成功的代码:
var V2 = Backbone.View.extend({ el: $('.container'), html:$('.container').html(), initialize: function () { this.listenTo(this.model, 'change', this.render); }, events: { "click #btn" : "fn" }, render:function (){ this.$el.html(this.html); this.delegateEvents(); //重新绑定一下所以的事件。以防出错 return this; //这里模仿了backbone 中的例子 }, fn: function (event) { console.log('v'); } });
唉。刚接触backbone。第一次遇见的坑。不过还是解决了。