Событие магистрали :потеряно при повторном -рендеринге

У меня есть super -View , который отвечает за рендеринг sub -Views . Когда я повторно -визуализирую супер -представление , все события в под-представлениях теряются.

Это пример:

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();

Когда я нажимаю в нажмите на меня div, событие запускается. Если я снова выполню composer.render(), все будет выглядеть примерно так же, но событие щелчка больше не запускается.

Проверьте работающий jsFiddle .

37
задан fguillen 21 August 2012 в 07:56
поделиться