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 回答