对不起我的英文:/
我有一个Jquery代码执行的次数与具有类newness
的div一样多。因为newness
在一个'for'中
当我在div上移动鼠标时,我在下面创建代码JQuery:在计数器上删除1并在此div(newness)上放置一个hoverdiv,然后我发布一个db数据,但对于我拥有的每个项目,有一个div newness,所以它重新制作动作很多次,有文章我想jquery只做一次代码
我认为div必须是独特的,如:
<div class="newness-<%=activity.id %>
但我不能在JQuery中这样做:
$('.newness-<%=activity.id %>')
如果我的数据库中有两项活动,则下面的代码会添加两次Post
方法和两次--num
(计数器)。
以下是代码:
<div class="newness" data-id='<%=activity.id %>'>NEW</div>
jQuery,我试过悬停,它也一样。
$('.newness').one('mouseenter', function() {
$(this).addClass('hover');
var num = parseInt($.trim($('.body__activity_counter').html()));
$('.body__activity_counter').html(--num);
if (num == 0) {
$('.body__activity_counter').addClass('hover');
}
newnessId = $(this).data('id');
$.ajax({
url: '/user_activities.json',
method: 'POST',
data: {
user_activity: {
activity_id: newnessId
}
}
})
})
如果我的鼠标悬停在这个div上,我有两个活动,这里是日志:
UserActivity Create (2.3ms) INSERT INTO "user_activities" ("activity_id", "user_id", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["activity_id", 4], ["user_id", 2], ["created_at", "2018-05-28 10:59:26.615344"], ["updated_at", "2018-05-28 10:59:26.615344"]] ↳ app/controllers/user_activities_controller.rb:11 (1.0ms) COMMIT ↳ app/controllers/user_activities_controller.rb:11 UserActivity Create (8.6ms) INSERT INTO "user_activities" ("activity_id", "user_id", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["activity_id", 4], ["user_id", 2], ["created_at", "2018-05-28 10:59:26.617042"], ["updated_at", "2018-05-28 10:59:26.617042"]] ↳ app/controllers/user_activities_controller.rb:11
答案 0 :(得分:1)
我通过更改脚本的位置解决了我的问题,因为这个组件多次执行我的数据库中有文章
感谢@AlbertoCh