Хорошо, я прочитал несколько других вопросов о представлениях Backbone и событиях, которые не запускаются, но я все еще не получаю это печально. Я возился с Backbone около дня, поэтому уверен, что упускаю что-то базовое. Вот jsfiddle с тем, с чем я работаю: http://jsfiddle.net/siyegen/e7sNN/3/
(function($) {
var GridView = Backbone.View.extend({
tagName: 'div',
className: 'grid-view',
initialize: function() {
_.bindAll(this, 'render', 'okay');
},
events: {
'click .grid-view': 'okay'
},
okay: function() {
alert('moo');
},
render: function() {
$(this.el).text('Some Cow');
return this;
}
});
var AppView = Backbone.View.extend({
el: $('body'),
initialize: function() {
_.bindAll(this, 'render', 'buildGrid');
this.render();
},
events: {
'click button#buildGrid': 'buildGrid'
},
render: function() {
$(this.el).append($('').addClass('gridApp'));
$(this.el).append('');
},
buildGrid: function() {
var gridView = new GridView();
this.$('.gridApp').html(gridView.render().el);
}
});
var appView = new AppView();
})(jQuery);
Событие okay
в GridView не работает огонь, я предполагаю, потому что div.grid-view
не существует, когда событие сначала привязано. Как мне обрабатывать привязку и запуск события, которое динамически построено на представлении? (Кроме того, это короткий пример, но не стесняйтесь кричать на меня, если я делаю что-то еще, чего не должен)
12
задан Thaddeus Albers 4 September 2013 в 23:59
поделиться