在renderJS之后不执行jquery代码

时间:2018-05-30 07:43:06

标签: javascript jquery ruby-on-rails fetch

(对不起我的英文)

我实现了3个动态重新加载我的活动的标签,发出GET请求以显示特定的活动列表(组/用户/新闻的活动)

但是当我点击其中一个标签时,我有一个不再运行的jquery代码, 使用rails我返回一个集合来显示活动,一个解决方案仍然是将jquery放在这个集合中,但是当我这样做时,jquery会为每个加载的活动执行,而不是我想要的。

活动:

<div class="activity-card-container" id="activity-cards">
  <%= render partial: 'activities/activity', collection: @activities %>
</div>

  $('.newness').on('mouseenter', function (event) {
      event.preventDefault();
          $(this).toggleClass('d-none');
          let 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 class="activity--js margin-card activity-card card card-body">
.......
  <%= activity.title %>

  <%= activity.content %>
.......
</div>

Tab控制器之一:

  def fetch_activities
    user = current_user
    activities = []
    user.groups.each do |group|
      activities << Activity.where(group: group)
    end
    @all_activities = activities.flatten.sort_by(&:updated_at).reverse
    respond_to do |format|
      format.js
    end
  end

和他的路线:

  get "/fetch_activities" => 'activities#fetch_activities', as: 'fetch_activities'

由于

0 个答案:

没有答案