Tamam, bu yüzden Backbone görüşlerine ve olayların işlenmemesine ilişkin başka birçok soru okudum, ancak yine de üzülmüyorum. Bir günlüğüne Omurga ile uğraşıyordum, eminim ki temel bir şey eksik. , http://jsfiddle.net/siyegen/e7sNN/3/backbone.js olayları ve el
(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($('<div>').addClass('gridApp'));
$(this.el).append('<button id="buildGrid">Build</button>');
},
buildGrid: function() {
var gridView = new GridView();
this.$('.gridApp').html(gridView.render().el);
}
});
var appView = new AppView();
})(jQuery);
GridView'da okay
olayı başlatılmıyor olay ilk bağlandığı zaman div.grid-view
yok çünkü farz ediyorum: İşte birlikte çalıştığım şeyi olan bir jsfiddle bu. Görünüm üzerinde dinamik olarak oluşturulmuş bir olayın nasıl bağlanacağını ve tetikleneceğini nasıl ele almalıyım? (Ayrıca, kısa bir örnek, ama ben Almamalıyım başka bir şey yapıyorsam bana bağırma çekinmeyin)
' çünkü. ve bu div içinde '.grid-view' sınıf adı öğesini buluyorsunuz. bunu alamayacaksın. – Mahi