在我的项目中,我无法从另一个骨干视图触发在一个骨干视图中注册的点击事件。它实际上我有一个文件类型输入隐藏的用户,我需要触发文件类型输入。
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");
}
....
});
但我尝试这样的事件不会被触发。怎么可能。
答案 0 :(得分:3)
events
哈希将自身附加到表示视图的jquery元素,而不是骨干视图本身。所以你很可能不得不做这样的事情:
attachFile : function() {
$('.delete-image', this.fileView.$el).trigger("click");
}
但是我会阻止这种非模式,而是努力使用我们称之为事件聚合模式的东西。您可以在下面找到一系列非常好的SO解决方案: