綁定事件的時候必定要先在render中去渲染一下。要否則沒法使用events:{} ;來綁定事件。html
好比我想給#btn綁定click 事件 直接使用events:{ 'click #btn':''fn}是不能綁定上的。this
綁定成功的代碼:spa
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。第一次碰見的坑。不過仍是解決了。htm