Javascript 什么';这是向用户单击更新url哈希的主要方法

Javascript 什么';这是向用户单击更新url哈希的主要方法,javascript,backbone.js,Javascript,Backbone.js,我有一个小主干画廊,将有3个图像 这将是“默认页面” http://localhost:3000/arc/location2/8 随后的国家将是: http://localhost:3000/arc/location2/8#image/1 http://localhost:3000/arc/location2/8#image/2 更新此hashchange以获得#image/1或#image/2的标准方式是什么?很明显,我不希望它是a href(或do I),因为这将重新加载页面 不是吗

我有一个小主干画廊,将有3个图像

这将是“默认页面”

http://localhost:3000/arc/location2/8
随后的国家将是:

http://localhost:3000/arc/location2/8#image/1
http://localhost:3000/arc/location2/8#image/2
更新此hashchange以获得#image/1或#image/2的标准方式是什么?很明显,我不希望它是a href(或do I),因为这将重新加载页面

不是吗


该模型是否只需编写一个jQuery助手方法来捕获单击,然后设置window.location.hash

var Router = Backbone.Router.extend({
  initialize: function(options) {

    // Matches #page/10, passing "10"
    this.route("page/:number", "page", function(number){ 
      // some code manipulating your page
    });

   }
});
要触发路线更改,只需调用“导航”


您可能还需要对pushState进行一些研究。这使浏览器能够利用后退/前进按钮在主干路由之间移动

thx Mike,你是说我应该通过Router.navigate捕捉jQuery事件和增量/减量。对于右/左箭头键,我使用类似于
window.location.hash=“image/”+prev-这是否等效?如果我是你,我会退房。thx Mike,我可能不完全理解你说的话,但我会在哪里触发
var Router = Backbone.Router.extend({
  initialize: function(options) {

    // Matches #page/10, passing "10"
    this.route("page/:number", "page", function(number){ 
      // some code manipulating your page
    });

   }
});
Router.navigate("page/" + pageNumber);