在我的rails应用程序上,我可以使用代码在可以单击链接的表上有一行: 应用程序/资产/ Javascript角/ custom.js:
var main = function() {
$("#my_table tr").on('click', function() {
window.location = $(this).data("link")
});
};
$(document).ready(main);
HTML:
<table class="table" id="my_table">
<thead>...</thead>
<tbody>
<tr data-link= "<%= my_path(myobject) %>">
<td><%= myobject.name %></td>
<td><%= myobject.email %></td>
</tbody>
</table>
但是,在访问其他页面并返回包含该表的页面后,行不再可单击。它只有在刷新浏览器时才有效。我需要做什么才能在切换页面后不停止功能?
答案 0 :(得分:0)
你真的在TR元素中有data-link="http://domain.com/path"
吗?你没有说出TR的样子......
对于重定向,要模拟您单击可以使用的链接:
window.location.href = $(this).data("link")
希望它有所帮助!
答案 1 :(得分:0)
我认为Navnit Mishra的意思是不使用$( "#my_table tr" ).one( "click", function() {
作为事件处理程序,而是使用
$( "#my_table tr" ).live( "click", function() {(your_event)})
处理您的活动。 .live允许您在将来为类中的元素附加事件处理程序。 jquery网站上提供了details for .live in jquery。
答案 2 :(得分:0)
这可能与turbo-links有关,我在使用Turbolinks和Rails 5时遇到了许多夸大的Js错误。
尝试:
$( document ).on('turbolinks:load', function() {
// your code
}
而不是
$(document).ready(main)
希望有所帮助