首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用turbolinks返回带有散列的页面的历史错误

使用turbolinks返回带有散列的页面的历史错误
EN

Stack Overflow用户
提问于 2014-05-12 07:56:48
回答 1查看 1.6K关注 0票数 3

我在rails上遇到了一个恼人的问题,希望你们中的一些人能帮我解决这个问题。

当出现特定的哈希值时,我使用jQuery-address将散列添加到我的url中,以便执行一些javascript。

问题是,Turbolinks似乎不起作用,如果我单击back按钮(回历史),历史回退引用带有散列的URL。它根本不改变页面内容。例如mypage.com/test2,我回到mypage.com/test1 1#1。

我想做一个js修复,所以如果我使用回历史记录使用散列访问另一个页面,它应该重新加载页面以刷新内容,或者强制使用Turbolinks手动刷新内容。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-05-12 09:01:56

没有代码我能给出的最好的信息是吐鲁宾克刷新页面的<body>

委托

通常的HTML呈现是重新呈现整个页面,这意味着JS能够重新绑定到不同的元素。JS的工作方式是将事件绑定到特定的元素。该元素必须位于页面(document / DOM)本身,这样JS才能绑定到它。

Turbolinks因阻止JS将事件绑定到元素而臭名昭著。由于Turbolinks在页面上保持相同的JS,因此阻止了JS的绑定。相反,您需要使用turbolinks 事件处理程序将事件绑定到DOM,并通过turbolinks委托,如下所示:

代码语言:javascript
复制
var ready = function(){
    //your code here
};
$(document).on("page:load ready", ready);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23603753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档