2013-11-02 191 views
1

我無法獲取ajax加載的鏈接來加載其他ajax內容。 基本上,這是我的Ajax代碼:ajax加載內容中的Ajax鏈接

$(function() { 

var api = $("#content").jScrollPane().data('jsp'); 

    var reinitialiseScrollPane = function() 
    { 
     api.reinitialise(); 
    } 

// attaching click handler to links 
$("#contentcontainer a[href]").click(function (e) { 
    // cancel the default behaviour 
    e.preventDefault(); 

    // get the address of the link 
    var href = $(this).attr('href'); 

    // getting the desired element for working with it later 
    var $wrap = $('#content'); 
    $wrap 
     // removing old data 
     api.getContentPane() 

     // load the remote page 
     .load(href, reinitialiseScrollPane , function(){ 

     } 
    ); 
}); 

}); 

基本上導航做工精細中的鏈接,因爲加載頁面時,它們被加載,但AJAX內容(至極的內部鏈接都應該載入頁面在同一個地方導航鏈接加載內容)不工作,我的理解是,需要某種「.live」函數調用,因爲一旦Ajax加載內容,js不重新掃描代碼。

我發現了一些解決方案,但沒有一個我可以涉及到使用的代碼。 代碼的第一部分不是ajax,但是對於滾動條插件,我沒有刪除它,因爲id是爲了避免它被一個解決方案無效,而該解決方案不斷將它計算在內。

謝謝。

+0

這是什麼? '$(「#contentcontainer a [href]」)。click'。刪除[href]部分並再次檢查。 – AuthorProxy

+0

@ AlexV.Kostyukov這是完全合法和有效的。這意味着點擊事件只綁定到''具有指定'href'屬性的元素。 – Terry

+0

好吧,只是從來沒有使用它:)嘗試通過'$ .on'使用實時綁定http://api.jquery.com/on/ – AuthorProxy

回答

2

嘗試使用.on()方法(見jQuery documentation)連接單擊處理時:

$(document).on('click', '#contentcontainer a[href]', function (e) { 
    // Rest of your code here 
}); 
+0

它的工作原理,但完全像我的代碼。如果我點擊ajax加載的鏈接,它會將我發送到頁面,而不是將其加載到#content中。 – FezMonki

+1

'$包裹 //刪除舊數據 api.getContentPane()'這工作我沒有看到任何打開的括號 – AuthorProxy

+1

檢查控制檯日誌中的錯誤,如@ AlexV.Kostyukov – Terry