jquery 使用 Kaminari 更改页面时功能停止工作

jquery function stops working when changing page using Kaminari

我有这个简单的功能来突出显示 table 中单击的行。我用 Kaminari 实现了分页,问题是该功能在更改页面时停止工作。我没有收到任何错误,只是该行没有突出显示。

app/javascript/table.js

$(document).ready(function() {
  $("#table-master tr").click(function() {
    var selected = $(this).hasClass("highlight");
    $("#table-master tr").removeClass("highlight");
    if (!selected) $(this).addClass("highlight");
  });
});

table 在此处呈现为部分内容:

index.html.erb

<div class="container-fluid">
  <%= render '/shared/form_search', locals: {parts: @parts} %>
  <div id="data-variant"></div>
  <%= render partial: '/shared/table', locals: {parts: @parts} %>
<%= paginate @parts%>

如果 turbolinks 处于活动状态,请尝试使用 "turbolinks:load" 事件。此事件在初始页面加载和使用 turbolinks 导航时触发。

document.addEventListener("turbolinks:load", function() {
  $("#table-master tr").click(function() {
    var selected = $(this).hasClass("highlight");
    $("#table-master tr").removeClass("highlight");
    if (!selected) $(this).addClass("highlight");
  });
});

参见:Building Your Turbolinks Application