JQuery запускается несколько раз - PullRequest
0 голосов
/ 28 мая 2018

Извините за мой английский: / У меня есть код Jquery, который выполняется столько раз, сколько есть div с классом newness.Поскольку newness находится в одном 'for'

Когда я перемещаю свою мышь на элемент div, я создаю код JQuery ниже: удалите 1 на счетчике и поместите hoverdiv в этот элемент div (новизна), иЯ публикую данные в БД, однако для каждого элемента, который у меня есть, есть новизна div, поэтому он много раз переделывает действие, что есть Статьи, которые я хотел бы, чтобы jquery делал только один раз, когда код

Я думаю, чтоdiv должен быть уникальным, как:

<div class="newness-<%=activity.id %>

, но я не могу сделать это в JQuery:

$('.newness-<%=activity.id %>')

Если в моей БД есть два действия, код ниже добавит runдважды Post метод и дважды --num (счетчик).

Вот код:

<div class="newness" data-id='<%=activity.id %>'>NEW</div>

jQuery, я пробовал hover, это то же самое.

$('.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

1 Ответ

0 голосов
/ 28 мая 2018

Я решил свою проблему, изменив место расположения скрипта, потому что этот компонент, который выполнялся много раз, когда в моей базе данных были статьи

спасибо @ AlbertoCh

...