在我的项目中,我无法触发在一个backbone视图中从另一个backbone视图中注册的点击事件。实际上,我的文件类型输入对用户是隐藏的,我需要触发文件类型输入。
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");
}
....
});但我试过这样,事件不会被触发。这怎么可能。
发布于 2013-02-05 19:01:20
jquery散列将自身附加到表示视图的events元素,而不是主干视图本身。所以你很可能要做这样的事情:
attachFile : function() {
$('.delete-image', this.fileView.$el).trigger("click");
}但我不鼓励这种非模式,而是致力于使用我们称为事件聚合模式的东西。接下来,您可以找到一组非常好的SO解决方案:
https://stackoverflow.com/questions/14705244
复制相似问题