Jquery history.js如何触发statechange之外的操作?

Jquery history.js如何触发statechange之外的操作?,jquery,ajax,history.js,Jquery,Ajax,History.js,我有一个ajax脚本,它使用history.js在状态改变时调用函数: History.Adapter.bind(window,'statechange',function() { var State = History.getState(); if (State.url.split('/').pop() === "home") { home(); } }); 当浏览器中的历史记录更改为home时,就会调用home()函数,这很好 然后,要捕获我的链接,

我有一个ajax脚本,它使用history.js在状态改变时调用函数:

History.Adapter.bind(window,'statechange',function() {
    var State = History.getState();
    if (State.url.split('/').pop() === "home") {
        home();
    }
});
当浏览器中的历史记录更改为home时,就会调用home()函数,这很好

然后,要捕获我的链接,请执行以下操作:

$('a').click(function(evt) {
    evt.preventDefault();
    History.pushState("", $(this).text(), $(this).attr('href'));

});
当我从另一个功能导航到主页时,主页会正确加载,但当我再次单击主页链接时,如果我想再次加载主页,则不会发生任何事情。我的理解是,如果状态没有变化,那么什么也不应该发生。 但是,我如何通过单击home()函数的链接来触发该函数的加载,而不引发changestate和重载呢


(提示:我的js级别接近0:)

我没有找到绑定到“无更改”状态的方法,所以我要做的是在捕获单击时检查链接的url是否与当前url相同。这是丑陋的,但现在它的工作

if ($(this).attr('href') === History.getState().url.split('/').pop()) {
    ...
}