2013-03-19 78 views
0

通過ajax調用內容(使用jQuery) - 如果在加載ajax的內容中存在ajax交互,是否應該在該文件中再次調用jQuery?如果有腳本/插件只能在加載了ajax的內容中調用,是否應該僅在加載了ajax的內容或父文件中調用它們?在ajax加載的內容中加載jquery

謝謝!

+0

問題不清楚,難以理解的問題陳述。請更具體。 – SachinGutte 2013-03-19 17:40:15

+0

我故意成爲一般人,因爲我想理解這個原則。 – kneidels 2013-03-19 17:47:30

回答

1

你的問題的簡短答案是,我會建議處理任何與原始ajax調用(或稱爲它,「父」文件)中加載ajax的內容相關的任何內容。既然你沒有張貼任何代碼,我不能使用任何實例具體到你的情況,但類似的是你想要做什麼:

$.ajax({ 
    url: "/foo", 
    success: function(response) { 
    do_something_related_to_this_content(response); 
    } 
}); 

do_something_related_to_this_content = function(response){ 
    // This function contains the code you originally 
    // wanted to put in the ajax-loaded content. 
} 

如果你把AJAX加載的內容中你的JavaScript,我擔心的一個問題是,你的ajax加載的腳本可能具有假定存在於「父」文件中的依賴關係,但是如果發生這種變化(IE是在完全不同的上下文中加載你的ajax內容),突然你的代碼休息。

此外,如果您多次重新載入相同的內容,您的ajax加載代碼將被多次加載。

最後,由於記錯的話,如果你的代碼是一個<script>塊內,我不相信通過AJAX加載時,它會自動被調用(試圖具體找出這...待機)

希望這就說得通了。

編輯

關於<script>塊裝載,檢查出this answer,這證實了我寫的。您必須對<script>塊內容執行eval()。

+0

謝謝Teeg - 完美 – kneidels 2013-03-20 07:19:44