Инициировать событие клика из одного файла из другого в BackboneJS

в моем проекте я не могу инициировать событие щелчка, зарегистрированное в одном представлении магистрали, из другого представления магистрали. на самом деле у меня есть ввод типа файла, скрытый от пользователя, и мне нужно активировать ввод типа файла.

var FileView = Backbone.View.extend({
 ....
 events : {
  "click .delete-image" : "deleteFile",
 }
 ....
});

var FilesView = Backbone.View.extend({
 ....
 events : {
  "click #attach" : "attachFile",
 },

 attachFile : function() {
  this.fileView.trigger("click .delete-image");
 }
 ....
});

но я пробовал так, событие не запускается. как это возможно.


person Jaison Justus    schedule 05.02.2013    source источник


Ответы (1)


хэш events присоединяется к элементу jquery, который представляет представление, а не к самому основному представлению. Поэтому вам, скорее всего, придется сделать что-то вроде этого:

attachFile : function() {
  $('.delete-image', this.fileView.$el).trigger("click");
}

но я бы не одобрял такой не-шаблон и вместо этого работал над тем, что мы называем шаблоном агрегации событий. Вы можете найти коллекцию действительно хороших решений SO далее:

person Vincent Briglia    schedule 05.02.2013