2013-09-24 4 views
2

jQuery 이벤트가 Backbone.View에서 바인딩되는시기와 방법을 정확히 이해하려고합니다. 내가 볼 수있는 경우 는 :백본보기 - jquery 이벤트 바인딩

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

윌 백본() 렌더링 호출에 클릭 이벤트를 바인딩? 시체를 추가 할 때? 다른 것?

답변

2

이벤트 처리기는 초기화를 호출 한 후 바인딩됩니다. 여기 delegateEvents 방법을 유의하십시오 source code입니다 :

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

delegateEvents 방법은 다음과 같은 jQuery 코드를 가지고 : A의 뷰 요소에 이벤트 및 위임 클릭을 클릭 듣고

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

구체적인 예, 버튼을 처리기에로드하는 클래스가 추가되었습니다.

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