2016-06-21 46 views
0

我有兩個.php頁面。兩者都顯示幾個信息按鈕,即我使用此代碼切換:使用ajax後Javascript不會被解散

$(document).on("click", ".glyphicon-info-sign", function(){ 
    $(".glyphicon-info-sign").not(this).popover("hide"); 
    $(this).popover("toggle"); 
}); 

該腳本放置在html元素之後。我使用一個div,包含我的標題下的頁面(主頁,聯繫人,登錄等),我使用jquery-ajax將不同的頁面加載到該div。

問題是,當我加載,,第1頁「,然後加載」第2頁「,似乎兩個頁面onclick事件仍然處於活動狀態我真的認爲如果我從div中刪除事件監聽器腳本,則聽者停止工作。

(有一個機會,我錯了,問題是另一回事。)

我該如何解決呢?

回答

0

我通過改變click事件固定我的問題聽衆:

$(".glyphicon-info-sign").click(function(){ 
    $(".glyphicon-info-sign").not(this).popover("hide"); 
    $(this).popover("toggle"); 
}); 

這是爲什麼: Difference between .on('click') vs .click()

+0

之前你的點擊事件綁定到撐約束,直到頁面刷新或手動刪除綁定的文件。您在此處的代碼僅與代碼運行時當前存在的「.glyphicon-info-sign」元素綁定。所以,當你將另一頁加載到div中時,這些頁面會被覆蓋並且不再存在。 – spaniol6