0

Backbone.View から拡張したビュー クラスがあり、モデルには次のボタンがあります。

<a class="comment-btn delete-comment">Delete</a>

次のようにメソッドをボタンに関連付けます。

events:{
"click delete-comment":"deleteComment"
}

問題は、ボタンをクリックすると、ページで利用可能なすべてのコメントに対してメソッドが実行されることです。

クリックされたアイテムのみで実行するにはどうすればよいですか?

4

2 に答える 2

1

あなたの見解はどのように見えますか?何にel:設定されていますか?

イベントのスコープは現在のビューである必要があります。

于 2013-02-28T13:31:22.453 に答える
1

この種のシナリオでは、通常、各ボタンに「data-id」属性を追加し、それを使用してアクションするコメントを決定します。

たとえば、ボタンが次のように定義されているとします。

<a class="comment-btn delete-comment" data-commentId="1">Delete</a>

次に、イベント ハンドラーは、イベントのソースを評価して正しいコメントを決定します。次の例では、jQuery の使用を前提としています。

deleteComment: function(event, args) {
   var id = $(this).data("commentId");
   ...
}
于 2013-02-28T13:35:53.353 に答える