Javascript jquery函数调用两次

Javascript jquery函数调用两次,javascript,jquery,ajax,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 (

我正在研究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搜索函数被调用了两次$(窗口).bind('hashchange')在我搜索时也被调用。是否有任何方法仅为浏览器后退和前进按钮或任何其他解决方案调用上述函数

我如何解决这个问题

如果您能提供任何帮助,我将不胜感激。

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

还可以添加调试器命令:

$(window).on( 'hashchange', function(e) {
    debugger;
    e.stopPropagation();
    [...]
});
尝试
.on()
而不是绑定并查找手动触发器。也可能是停止传播? 为什么应用于窗口而不是文档

还可以添加调试器命令:

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

你能给我们看一下这个问题的工作示例吗?你能给我们看一下这个问题的工作示例吗?我使用了window bind hashchange,因为我需要在不重新加载页面的情况下调用函数。我使用了window bind hashchange,因为我需要在不重新加载页面的情况下调用函数。