2012-07-07 88 views
4

我正在使用此插件http://www.asual.com/jquery/address/来检测哈希变化等,这是我的网站,它仅将其用于导航,因此它是用户体验的重要组成部分。现在,这适用于我正在处理的所有事情,除非它不会触发事件,如果哈希不会更改/与最后单击的哈希URL没有区别,例如,如果我是示例。 com/home,然后再次点击主页图标,它不会重新加载页面,就像你只是使用常规链接一样。我一直无法弄清楚如何为网址中的所有链接实现此目的。 (不只是所有的标签,因为我用的标签,没有它是一个导航部分。因此,任何帮助将是巨大的,谢谢。即使哈希值没有变化,jQuery地址哈希更改触发器

​​

回答

5

的onhashchange事件被恰当地命名,它只火灾时,哈希值发生变化。

,我知道这个问题的唯一解决办法是结合同一功能的网页图标的单击事件

此外,jQuery提供它的哈希改变自己的事件:

$(window).on("onhashchange", function (e) { 
    route(); 
}) 
$(".icon").on("click", function(e) { 
    location.hash == "#/" ? route(): null; 
}) 

而且,如果这些都是一个标签,比如,在#nav DIV:

$("#nav").delegate("a", "click", function() { 
    location.hash == this.href ? route() : null; 
}) 

还是这正好可以应用到所有的一个标签:

$("a").on("click", function() { 
    location.hash == this.href ? route() : null; 
})