jquery函数调用了两次

时间:2013-08-08 09:06:53

标签: javascript jquery ajax

我正在研究ajax搜索功能但遇到一个问题。我快速解释下面的示例代码。

function search_content(sh_val,sh_act)
{
    ....some search code.....
    window.location.hash = sh_val+'@'+sh_act;

}

单击浏览器后退或前进按钮时,我使用以下功能恢复搜索。

$(window).bind( 'hashchange', function(e) {
var pagee=location.hash.slice(1)
if (pagee!="")
    {
        search_content(pagee,'catsh');
    }
    return false;
 });

但我在搜索时遇到问题ajax搜索功能被调用两次。我正在搜索时调用$(window).bind('hashchange')。有没有办法只为浏览器后退和前进按钮或任何其他解决方案调用上述函数?

我该如何解决这个问题?

我会感激任何帮助..

1 个答案:

答案 0 :(得分:1)

尝试.on()而不是绑定并查找手动触发器。也可以停止传播? 为什么应用于窗口而不是文档?

您还可以添加调试器命令:

$(window).on( 'hashchange', function(e) {
    debugger;
    e.stopPropagation();
    [...]
});