私の backbone.js アプリにはアイテムのコレクションがあります。コレクションと各アイテムのビューは期待どおりにレンダリングされます。
各アイテムには 2 つのアクション (A と B としましょう) があります。アクション A と B を処理できるように、ItemView クラスにイベント リスナーを接続するにはどうすればよいでしょうか?
window.SourceListItemView = Backbone.View.extend({ tagName: "li", initialize: function () { this.model.bind("change", this.render, this); this.model.bind("destroy", this.close, this); }, render: function () { $(this.el).html(this.template(this.model.toJSON())); return this; }, events: { "click .action_a": "doA", "click .action_b": "doB" }, doA: function(event) { alert("A clicked for " + JSON.stringify(event)); }, doB: function(event) { alert("B clicked for " + JSON.stringify(event)); }
});
ItemView のテンプレート
<a href="#sources/<%=id %>" class="source thumbnail plain" style="text-align: center;">
<h4><%= name %></h4>
<button class="btn btn-primary action_a"> A</button>
<button class="btn btn-info action_b"> B</button>
</a>