1

私のプロジェクトでは、あるバックボーンビューに登録されているクリックイベントを別のバックボーンビューからトリガーできません。実際には、ファイルタイプの入力をユーザーから非表示にしていて、ファイルタイプの入力をトリガーする必要があります。

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");
 }
 ....
});

しかし、私はこのようにイベントがトリガーされないように試みました。どのようにそれは可能ですか。

4

1 に答える 1

3

ハッシュはevents、バックボーンビュー自体ではなく、ビューを表すjquery要素にアタッチされます。したがって、おそらく次のようなことをしなければならないでしょう:

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

しかし、私はこの種の非パターンを推奨せず、代わりにイベント集約パターンと呼ばれるものを使用するように努めます。次に、本当に優れたSOソリューションのコレクションを見つけることができます。

于 2013-02-05T11:01:19.527 に答える