Я создаю представление на данный момент, и когда я нажимаю ссылку .organisation
, я хочу запустить мое событие редактирования, однако при нажатии этого элемента ничего не запускается, и я не могу понять, почему.Просмотр событий не срабатывает - магистраль
Вот код, который строит мой взгляд,
App.Views.groupsView = Backbone.View.extend({
el: '.app',
template: _.template($('#tpl-groups-base').html()),
events: {
},
initialize: function(options) {
this.render();
},
render: function() {
this.$el.html(this.template());
var orgTab = new App.Views.OrganisationsTab({
collection : new App.Collections.Organisations
});
},
});
App.Views.OrganisationsTab = Backbone.View.extend({
el : '#organisations',
initialize: function() {
App.Collections.OrganisationCollection = this.collection;
this.collection.fetch();
this.collection.on('sync', this.render, this);
},
render: function() {
this.addAll();
return this;
},
addAll: function() {
App.Collections.OrganisationCollection.each(this.addOne, this);
},
addOne: function(organisation) {
var view = new App.Views.OrganisationView({
model : organisation
});
this.$el.append(view.render().el);
}
});
App.Views.OrganisationView = Backbone.View.extend({
tagName: 'a',
className:'group group--panel col-sm-3 organisation',
template : _.template($('#tpl-single-group').html()),
events: {
"click body" : "edit",
},
initialize: function() {
this.listenTo(this.model, 'change', this.render);
this.listenTo(this.model, 'destory', this.remove);
},
render: function() {
this.$el.html(this.template({
group: this.model.toJSON()
}));
return this;
},
edit: function(e) {
e.preventDefault();
console.log(this.model);
}
});
Почему бы мне не быть в состоянии нажать на организации а что создается в конечном зрения, и вызвать мою функцию редактирования?
-видимому, с 'a' нужно иметь href, прежде чем он сможет щелкнуть событие. – Udders
Если доверие к тому, что написано в теге 'events'' a', должно содержать тег 'body'. –