检测location.hash未单击锚点时更改

时间:2014-03-20 15:42:08

标签: javascript jquery ajax url location

经过2天的谷歌搜索后,我无法摆脱这个问题.. 我有一个完整的ajax网站,我需要回制按钮工作。实际情况是我可以在使用此代码更改历史状态时处理事件

window.onpopstate = function(e){
   //ajax call here
}

问题是当我按下后退按钮时正确调用该功能,但是当我点击我的ancor菜单时被调用两次。这就是为什么我有锚函数来使用普通的ajax调用:

$("#home").click(function(){            
        load_right_container('home.php');
        location.hash = "!home";           
        return false;
    });

显然正在改变location.has激活甚至window.onpopstate所以我有双重加载页面。

我的想法是,只有在没有点击锚点并且location.hash发生变化时才调用ajax加载,例如:

if( window.onpopstate && !($('a').click())
{ //ajax call here}

但是没有用。

有什么建议吗?

谢谢!

编辑1:

也许问题不明确: 是否存在一种方法来获得仅后退按钮压力而不会传递位置。变化?

0 个答案:

没有答案