【发布时间】:2015-04-10 07:02:00
【问题描述】:
刚开始使用 Rails,我正在尝试使用引导表在 Rails 中创建可点击的表行。我设法做到了这一点,但是似乎存在一个问题,当我单击行到显示页面,然后按该页面上的后退按钮返回到索引视图时,可单击的行不再起作用。我需要刷新页面才能让它再次工作。
我查看了Rails 3 - How to make entire table row clickable using jQuery 以及网站上的其他答案。好像还是不行。
我的代码如下
索引页面
<tr data-link="<%= source_path(source) %>">
<td><%= source.name %></td>
<td><%= source.description %></td>
<td><%= link_to truncate(source.url, :length => 40), source.url, :target => '_blank' %></td>
<td><%= source.category %></td>
<td><%= source.user.name if source.user %></td>
</tr>
应用程序.js
jQuery(function($) {
$("tr[data-link]").click(function() {
window.location = this.dataset.link
});
})
【问题讨论】:
-
这是因为您在 a-way-i-cant-find-the-name 中定义了事件侦听器,但您应该在
$(document).ready(function(){#your_js_goes_here#})中定义它 -
@MrYoshiji
jQuery(function($) {与$(document).ready(function(){相同。只是一个简写版本。见api.jquery.com/ready -
我不确定@charlietfl,我找不到任何证实这一点的来源
-
@MrYoshiji 看看我刚刚链接的文档...见
Which is equivalent to calling -
是的,
jQuery(document).ready,但不是 OP 的jQuery(function($){#...})
标签: javascript jquery ruby-on-rails