1

我正在构建一个骨干应用程序,并且正在学习如何使用 Backbone 的 pushState。我的应用程序的主视图是一个“Feed”视图,它显示了一堆项目。当您单击一个项目时,它会加载一个新项目“显示”视图,并将其滑入页面。

现在,我已经成功地让我的应用程序使用 pushState true 在浏览器的历史记录中输入每篇文章的查看记录。

但是,当我“返回”浏览器的历史记录时,我想触发一个事件来在显示视图上做一些事情。是否有一个主干或 jQuery 事件/函数可用于检测用户何时选择前进/后退历史记录?

使用这样的主干事件会很棒:

 events: {
  'dblclick':'test'
 },
4

1 回答 1

3

如果您正在为 App 控制器使用视图,则可以使用将窗口对象作为el选项传递给视图的技巧。使用视图中保存的窗口对象,您将获得绑定到事件哈希的所有窗口事件,这样您就可以向popstate哈希添加类似的事件,并且您将获得一个后退按钮事件。

我很快对此进行了测试,因此它应该适合您:

var App = Backbone.View.extend({
    events: {
      "popstate":          "onPopState"
    },
    onPopState : function onPopState() {
        console.log("onPopState");
    }
});
var MainApp = new App({ el : window });
于 2012-12-18T20:32:37.930 回答