jquery函数调用了两次

jquery function called twice

本文关键字:两次 函数调用 jquery      更新时间:2023-09-26

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

我该如何解决这个问题?

我将感谢任何形式的帮助。。

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

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

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