2012-09-10 44 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