1

我正在研究 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') 在我搜索时也会被调用。有没有办法只为浏览器的后退和前进按钮或任何其他解决方案调用上述函数?

我该如何解决这个问题?

我会很感激任何帮助..

4

1 回答 1

1

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

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

$(window).on( 'hashchange', function(e) {
    debugger;
    e.stopPropagation();
    [...]
});
于 2013-08-08T09:10:48.090 回答