0

我整天都在努力让一些 javascript 在我的 Rails 应用程序中工作。我有一个基本的 Rails 应用程序。我正在尝试使一行可点击。我正在向该行添加一个数据属性以保存我想要访问的 url,但我无法从表中访问它。这是我的 HTML:

  <% @kids.each do |kid| %>
    <tr data-link="<%= kid_path(kid) %>">
      <td><%= kid.name %></td>
      <td><%= kid.balance %></td>
      <td><%= link_to 'Show', kid %></td>
      <td><%= link_to 'Edit', edit_kid_path(kid) %></td>
      <td><%= link_to 'Destroy', kid, method: :delete, data: { confirm: 'Are you sure?' } %></td>
    </tr>
 <% end %>

当我单击该行时,我有一些需要调用的 javascript。这是js:

  console.log("HERE 1");
  $("tr").click(function() {
    console.log("HERE 2");
  })

HERE 1 被调用,但 HERE 2 没有。为什么会这样?谢谢您的帮助。

4

1 回答 1

0

我不知道是什么导致了这个问题,但我知道解决方法。如果你将你的 js 函数包装在一个 jQuery .ready 中,那么一切都会像它应该的那样工作。例如:

$('document').ready(function() {
  $("tr").click(function() {
    console.log("HERE 2");
  });
});

我不知道为什么这是必要的,但它是一个修复。

于 2013-05-29T10:58:52.343 回答