Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js-返回按钮恢复滚动位置_Backbone.js - Fatal编程技术网

Backbone.js-返回按钮恢复滚动位置

Backbone.js-返回按钮恢复滚动位置,backbone.js,Backbone.js,我有一个用backbone.js编写的web应用程序。假设我有一页搜索结果,用户被滚动到搜索结果的底部。用户单击最后一个搜索结果,并显示该结果的页面 我想支持后退按钮,当用户单击“后退”时,路由器将进入并重新显示搜索页面。问题是当重新呈现搜索页面时,它会再次滚动到顶部 将结果恢复到原始位置的最佳方法是什么?考虑在视图中跟踪滚动位置。然后在上渲染或让路由更改页面位置 View = Backbone.View.extend({ initialize: function () { v

我有一个用backbone.js编写的web应用程序。假设我有一页搜索结果,用户被滚动到搜索结果的底部。用户单击最后一个搜索结果,并显示该结果的页面

我想支持后退按钮,当用户单击“后退”时,路由器将进入并重新显示搜索页面。问题是当重新呈现搜索页面时,它会再次滚动到顶部


将结果恢复到原始位置的最佳方法是什么?

考虑在视图中跟踪滚动位置。然后在
上渲染
或让
路由
更改页面位置

View = Backbone.View.extend({
   initialize: function () {
      var self = this;
      $( window ).on( 'scroll', function () {
         self.position = this.pageYOffset;
      });

   },
   render: function () {
      // render code
      if ( this.position ) {
        window.scrollBy( 0, this.position );
      }
   }
});

我没有绑定窗口滚动事件(这会在管理多个视图的滚动位置时造成问题),而是选择抓取页面偏移并在更改视图时保存它。