2016-12-06 71 views
0

在我的Rails应用程序,我能够通过使用代码在一个表上点击一个链接后一排: 应用程序/资产/ Java脚本/ custom.js:JQuery的停止工作进行导航的其他页面

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

@navnit'$(“#my_table tr”).one(“click”,fu nction(){'也行不通 – amo

回答

0

这可能与涡轮链接,我经历了使用Turbolinks许多quarky的js错误使用Rails 5.

尝试:

$(document).on('turbolinks:load', function() { 
    // your code 
} 

而不是

$(document).ready(main) 

希望它可以帮助

0

实际上您的TR元素中是否有data-link="http://domain.com/path"?你没有把TR的样子......

对于重定向,来模拟你点击一个链接,你可以使用:

window.location.href = $(this).data("link") 

希望它能帮助!

+0

我在'' – amo

+0

中加入了'data-link ='路径'好!但它似乎更多的问题与Rails和Turbolinks .. – QuarK

0

我想Navnit米什拉的意思是不使用$("#my_table tr").one("click", function() {作为事件处理程序,但使用

$("#my_table tr").live("click", function() {(your_event)}) 

处理您的活动。 .live允许您为将来的类中的元素附加事件处理函数。 details for .live in jquery在jquery网站上可用。

相关问题