2013-09-24 181 views
2

我想了解確切的時間和如何在Backbone.View中綁定jQuery事件。 如果我有一個觀點:骨幹視圖 - jQuery的事件綁定

var MyView = Backbone.View.extend({ events: {"click" : "handler"} });

威爾骨幹結合上調用render()click事件?在追加身體?還有別的嗎?

回答

2

事件處理程序在調用初始化後被綁定。這裏的source code,注意delegateEvents方法:

var View = Backbone.View = function(options) { 
    this.cid = _.uniqueId('view'); 
    this._configure(options || {}); 
    this._ensureElement(); 
    this.initialize.apply(this, arguments); 
    this.delegateEvents(); 
}; 

的delegateEvents方法則有jQuery代碼是這樣的:

this.$el.on(eventName, selector, method); 

一個具體的例子,聽點擊一個視圖元素上的事件和委派點擊按鈕帶有更多類的加載到處理程序:

this.$el.on("click", ".load-more", function(){});