Javascript TurboLink中的历史回溯错误,指向具有哈希的页面
我对rails中的TurboLink有点恼人,我希望你们中的一些人能帮助我解决这个问题 我使用jQuery地址向我的url添加哈希,以便在出现特定哈希值时执行一些javascript 问题是Turbolinks似乎不起作用,如果我单击后退按钮(history back),history back引用了一个带有散列的URL。它根本不会改变页面内容。例如mypage.com/test2,我回到mypage.com/test1 我想做一个js修复程序,因此如果我使用历史记录回击另一个带有哈希的页面,它应该重新加载页面以刷新内容,或者只是强制使用TurboLink手动刷新内容Javascript TurboLink中的历史回溯错误,指向具有哈希的页面,javascript,ruby-on-rails,turbolinks,Javascript,Ruby On Rails,Turbolinks,我对rails中的TurboLink有点恼人,我希望你们中的一些人能帮助我解决这个问题 我使用jQuery地址向我的url添加哈希,以便在出现特定哈希值时执行一些javascript 问题是Turbolinks似乎不起作用,如果我单击后退按钮(history back),history back引用了一个带有散列的URL。它根本不会改变页面内容。例如mypage.com/test2,我回到mypage.com/test1 我想做一个js修复程序,因此如果我使用历史记录回击另一个带有哈希的页面,它
提前谢谢 在没有代码的情况下,我能提供的最好信息是刷新页面的
授权 正常的HTML呈现是重新呈现整个页面,这意味着您的JS能够重新绑定到不同的元素。JS的工作方式是将事件绑定到特定元素。该元素必须位于页面(
document
/DOM
)本身,以便JS绑定到它
TurboLink因阻止JS将事件绑定到元素而臭名昭著。由于Turbolinks在页面上保持相同的JS,因此会阻止JS绑定。相反,您需要使用TurboLink将事件绑定到DOM,并通过TurboLink进行委托,如下所示:
var ready = function(){
//your code here
};
$(document).on("page:load ready", ready);
你能发布你的JS吗?