2012-05-31 127 views
0

當我打開一個帶有ajax的鏈接我想更改wibyia工具欄來刷新facebook像按鈕到當前網頁,所以我每次都重新加載wibyia腳本,但它只加載一個time ...... help

$(document).ready(function(){ 
    $("[href^='?id=']").click(function(){ 
    var linkid=$(this).attr("href"); 
    $(".col-1").html("<div style='text-align:center;margin-top:10px'><img src='images/loading.gif' /> </div>"); 
    window.history.pushState("object or string", "index", "http://localhost:10358/"+linkid); 

    $.ajaxSetup ({ 
    // Disable caching of AJAX responses 
    cache: false 
    }); 
    $.get("/catdata/news.php"+linkid,function(result){ 
    $(".col-1").html(result); 
    }); 
    $.getScript("http://cdn.wibiya.com/Toolbars/dir_1185/Toolbar_1185788/Loader_1185788.js"); 

    return false; 

}); 
}); 
+0

當你調試的代碼你有什麼調查? – zerkms

+0

此鏈接顯示與此相關的問題,提問者找到解決方案,但他沒有寫。 http://stackoverflow.com/questions/8865836/jquery-ajax-success-runs-for-one-time-only?answertab=active#tab-top –

+0

因爲它不是一個通用的問題。 '$ .ajax'會運行您調用的確切次數。如果它沒有運行 - 唯一的原因是你不叫它。沒有魔法,但你的問題。 – zerkms

回答

0

您點擊元素'.col-1'中的鏈接?如果是這樣,那麼它不起作用,因爲單擊事件偵聽器只附加一次,而不是每個Ajax後。

使用.on()(jQuery版本> = 1.7)或delegate()或者在每個ajax調用後分配click事件處理程序。

+0

托馬斯感謝您的回覆,但問題對我講劇本,每個Ajax崗位後,我打電話scritp重新加載,但它加載只有一次,而不是每個AJAX後 –

+0

你能確認請求沒有被髮送使用Firebug或Chrome開發工具? 你能發佈一個例子的鏈接嗎?這會讓它變得更容易。發送了 – Thomas

+0

請求,但是我搜索了一下,發現腳本只是第一次加載,並且在頁面刷新之前無法重新加載,所以在ajax調用後無法重新加載腳本。 是我的網站,你可以點擊鏈接,看阿賈克斯呼籲 www.egypn.com 我想加載wibyia工具欄,並更改每個Ajax調用後的Facebook像按鈕。 謝謝托馬斯的回覆 –