2014-11-11 5 views
1

Я создаю представление на данный момент, и когда я нажимаю ссылку .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); 
    } 

}); 

Почему бы мне не быть в состоянии нажать на организации а что создается в конечном зрения, и вызвать мою функцию редактирования?

+0

-видимому, с 'a' нужно иметь href, прежде чем он сможет щелкнуть событие. – Udders

+1

Если доверие к тому, что написано в теге 'events'' a', должно содержать тег 'body'. –

ответ

0

Если вы хотите прикрепить прослушиватель событий нажмите на дочерний элемент представлен вид Эль

events: { 
    "click .organisation" : "edit", 
}, 

Если вы хотите, чтобы прикрепить ее к эш

events: { 
     "click" : "edit", 
}, 
Смежные вопросы