簡體   English   中英

jQuery函數調用兩次

[英]jquery function called twice

我正在研究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()而不是bind並尋找手動觸發器。 還是停止傳播? 為什么在窗口而不是文檔上申請?

您還可以添加調試器命令:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM