2012-09-10 46 views
18

如何在URL更改時觸發一個函數?我嘗試這樣的:如何觸發jQuery中的URL更改?

$(windows.location).change(function(){ 
    //execute code 
}); 

所以我的網址是類似於http://www.mysite.com/index.html#/page/1。當URL變成類似http://www.mysite.com/index.html#/page/2的東西時,我該如何執行jQuery或JavaScript代碼?

+0

有像你已經有很多的問題.. http://stackoverflow.com/search?q=jquery+hash+changed –

回答

32

這將是一個hashchange事件,所以我建議:

$(window).on('hashchange', function(e){ 
    // do something... 
}); 

JS Fiddle demo

參考文獻:

+0

遺漏的類型錯誤:對象# 沒有方法'on' 我認爲出現這個錯誤是因爲我的URL很像index.php#/ page/1 – TGeorge

+2

你使用的是什麼版本的jQuery? 'on()'可以從版本1.7+中獲得,比這個更早的版本應該使用'delegate()',但沒有更多的信息我不能說。 –

+0

是啊:))我正在使用1.4.4。這是有效的。 ! – TGeorge