【发布时间】:2012-09-05 17:11:32
【问题描述】:
我显示用户 cmets。每个评论都是一个div,每个div 都有<a> 标签,其类为'commentLikeLink'。我将 jquery 点击事件绑定到 'commentLikeLink' 类,但如果我有 10 个 cmets 并点击一个类似按钮,我会触发 10 次事件。
我知道发生这种情况是因为我多次上同一堂课。但是如何阻止呢?
代码如下:
...
<div class="commentBox"">
...
@Html.ActionLink(likeText, "LikeComment", "Comment", null, new { id = Model.CommentId, @class = "commentLikeLink" })
...
事件代码:
$(function () {
$('.commentLikeLink').click(function (event) {
var commentId = event.target.id;
$.ajax({
url: this.href,
type: 'POST',
data: { commentId: commentId },
context: this,
success: function (result) {
if (result.msg == '1') {
$(this).text('Dislike');
}
else if(result.msg == '2') {
$(this).text('Like');
}
}
});
return false;
});
});
【问题讨论】:
-
你能显示你的最终源输出吗?
-
你怎么知道它会触发 10 次?
-
仅仅因为您在页面上有十个具有相同类的元素并将点击事件绑定到该类的元素并不意味着当其中一个被实际点击时,所有十个都获得点击事件。
-
@Mike Brant 这是输出:点赞
-
每次加载评论时都包含javascript代码吗?
标签: asp.net-mvc asp.net-mvc-3 jquery