2012-07-07 128 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; 
})