客户端尝试前进/后退时的主干/jQuery事件?

客户端尝试前进/后退时的主干/jQuery事件?,jquery,backbone.js,Jquery,Backbone.js,我正在构建一个主干应用程序,并正在学习如何使用主干的pushState。我的应用程序的主视图是一个“提要”视图,其中显示了一系列项目。当您单击一个项目时,它将加载一个新的项目“显示”视图,并将其滑入页面 现在,我已经成功地使用pushState true获得了我的应用程序,在浏览器的历史记录中输入了查看的每篇文章的记录 但是,当我在浏览器的历史记录中“返回”时,我想触发一个事件,在show view上做一些事情。是否有主干或jQuery事件/函数可用于检测用户何时选择在历史中前进/后退 最好使用

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

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

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

最好使用主干事件,如:

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

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

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

var App = Backbone.View.extend({
    events: {
      "popstate":          "onPopState"
    },
    onPopState : function onPopState() {
        console.log("onPopState");
    }
});
var MainApp = new App({ el : window });

有,但我不认为后退按钮有什么特别的。嗯,有趣的是,我在考虑是否可以用这些按钮来实现我的目标。仅供参考,我指的不仅仅是点击后退按钮,我指的是在浏览器历史记录中向后/向前导航的一般行为。嘿,布莱恩,对不起,我花了这么长时间才回到这里。我试过了,你说得对!这将在客户端尝试前进/后退时生成控制台日志。有没有办法区分这两者?(例如,知道客户机是否正在尝试返回还是前进?)是的,如果您将state推入pushState命令,您将在事件中得到它。将
onPopState()
更改为
onPopState(事件)
并查看此以了解更多信息:谢谢!对于这种设置的跨浏览器支持有什么想法吗?