Javascript Rails:TurboLink返回页面顶部

Javascript Rails:TurboLink返回页面顶部,javascript,jquery,ruby-on-rails,turbolinks,Javascript,Jquery,Ruby On Rails,Turbolinks,我正在使用TurboLink作为导轨;每当我点击一个链接,页面就会向下滚动到上一页的滚动位置。我希望加载所有页面,使其不会向下滚动(保持在页面顶部)。我不需要TurboLink来记住我以前的滚动位置。那么,如何强制页面在顶部(0,0)以滚动位置加载呢 我试过了 $ -> window.scrollTo 0,0 但是我可能没有绑定这个权利。原因是Turbolink在没有刷新页面的情况下替换了DOM元素,所以您的滚动保持在相同的位置 要进行更改,您需要观察Turbolinks发出的事

我正在使用TurboLink作为导轨;每当我点击一个链接,页面就会向下滚动到上一页的滚动位置。我希望加载所有页面,使其不会向下滚动(保持在页面顶部)。我不需要TurboLink来记住我以前的滚动位置。那么,如何强制页面在顶部(0,0)以滚动位置加载呢

我试过了

$ ->
    window.scrollTo 0,0

但是我可能没有绑定这个权利。

原因是Turbolink在没有刷新页面的情况下替换了DOM元素,所以您的滚动保持在相同的位置

要进行更改,您需要观察Turbolinks发出的事件,该事件指示页面加载已完成,然后启动滚动操作

试试这个:

$ ->
  $(document).on 'page:load', ->
    window.scrollTo 0, 0

您可能正在使用旧版本的TurboLink。这是一个非常重要的问题


尝试更新您的文件以使用更新的版本。我在使用“1.1.1”时遇到了同样的问题,但在切换到“2.2.3”后得到了解决。

我在Rails 6中遇到了同样的问题,并通过添加

document.addEventListener("turbolinks:load", function() {
    window.scrollTo(0,0)
});
在application.html.erb的
标记下


这基本上是在DOM中添加了EventListener,每当加载TurboLink时,它都会自动滚动到页面顶部。

@user2805279:您应该提供更多信息。你的剧本叫什么名字?您的gem文件中有所有这些gem吗?:
gem'jquery rails'
gem'turbolinks'
gem'jquery turbolinks'