У меня есть супер-просмотр, кто отвечает за рендеринг под-просмотров. Когда я перерисовываю супер-просмотр, все события в под-представлениях теряются.
Это пример:
var SubView = Backbone.View.extend({
events: {
"click": "click"
},
click: function(){
console.log( "click!" );
},
render: function(){
this.$el.html( "click me" );
return this;
}
});
var Composer = Backbone.View.extend({
initialize: function(){
this.subView = new SubView();
},
render: function(){
this.$el.html( this.subView.render().el );
}
});
var composer = new Composer({el: $('#composer')});
composer.render();
Когда я нажимаю кнопку click me div, событие запускается. Если я выполняю composer.render()
снова, все выглядит примерно так же, но событие click больше не запускается.
Проверьте рабочий jsFiddle.