我正在构建一个主干应用程序,并正在学习如何使用 Backbone 的 PushState。我的应用程序的主视图是“Feed” View ,它显示一堆项目。当您单击某个项目时,它会加载一个新项目“显示” View ,并将其滑入页面。
现在,我已经成功地让我的应用程序使用pushState true 在浏览器历史记录中输入每一篇查看的文章的记录。
但是,当我“返回”浏览器历史记录时,我想触发一个事件以在显示 View 上执行一些操作。是否有主干或 jQuery 事件/函数可以用来检测用户何时选择在历史记录中前进/后退?
使用像这样的 Backbone 事件会很棒:
events: {
'dblclick':'test'
},
最佳答案
如果您使用应用程序 Controller 的 View ,则可以使用此技巧将窗口对象作为 el
选项传递给 View 。通过 View 中保存的窗口对象,您将获得绑定(bind)到事件哈希的所有窗口事件,这样您就可以将诸如 popstate
之类的事件添加到您的哈希中,并且您将获得后退按钮事件。
我很快对此进行了测试,因此它应该适合您:
var App = Backbone.View.extend({
events: {
"popstate": "onPopState"
},
onPopState : function onPopState() {
console.log("onPopState");
}
});
var MainApp = new App({ el : window });
关于jquery - 当客户端尝试前进/后退时的 Backbone/jQuery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805568/