2012-01-04 58 views
0

我想通過菜單在div內加載一些外部內容的片段。重新加載? jquery .live/.load後的Javascript

找到「load」和「live」,找到一個tutorial用過它=成功! 除了像文檔中明確指出的那樣,它不會加載JavaScript。

事情是,目標頁面已經加載,在標題內,相同的JavaScript,因爲Wordpress加載它在每一頁。在這個特定的頁面中,我只通過jQuery AJAX調用來使用插件(nextgen gallery)。

所以,我認爲我的問題是,我不知何故需要警告/重新加載JavaScript,對吧?

我該怎麼做? PS:我用「開」取代了「活」,但沒有奏效。

+2

Bro提示:您可以使用'''代替'jQuery'來節省輸入時間和屏幕空間:-) – Bojangles 2012-01-04 00:59:54

+0

@JamWaffles:_Bro_ tip ?! – 2012-01-04 01:15:06

+0

謝謝,但我相信我不能這樣做,因爲它會產生衝突:) – user1128912 2012-01-04 18:41:46

回答

0

我不確定我是否理解...你的load()命令在你想執行的某個Javascript中打印?我不確定你是否可以這樣做。但如果你只需要呼籲的load()完成一些JS,你可以通過它的功能就像這樣:

jQuery('#fora').load(link+' #dentro', function() { 
    console.log("load completed"); 
    // JS code to be executed... 
}); 
+0

感謝您的快速回答。已加載的內容正常工作所需的JavaScript已加載到登錄頁面標題中,但它就像沒有爲新元素觸發 – user1128912 2012-01-04 08:48:20

+0

要在您的建議中插入的JS代碼就像

0

如果要執行JavaScript代碼包含在加載頁面(您通過檢索頁面。 load()),而不必使用url-參數而不使用「後綴選擇器表達式」。參見(.load())jQuery文檔:

注意:當使用URL不具有後綴選擇表達調用.load()時,內容被傳遞到.HTML()腳本是 去除之前進行。這會在腳本塊被丟棄之前執行。如果使用 .load()調用 URL附帶的選擇器表達式,則會在更新DOM之前除去腳本,這是它們永遠不會執行的原因。這兩種情況的示例可以是 ,如下所示:

這裏,作爲文檔一部分加載到#a中的任何JavaScript將成功執行 。

$('#a').load('article.html'); 
在這種情況下

然而,在文檔中的腳本塊被加載到 #B先於執行剝離出來:

$('#b').load('article.html #target'); 

我認爲這是你的問題(雖然我沒有爲你解決,對不起)。

提案:也許你可以加載整個頁面(包括腳本),並刪除(或隱藏)你不需要的部分?

乾杯。

+0

感謝您的回答,但儘管我不知道如何拉取所有內容然後「過濾」,但我相信這會是一個矯枉過正的行爲,因爲它是一個菜單,並會多次提取不同的內容。在來這裏之前,我讀過你說的話。我認爲有某種成功的功能或任何可以重新加載或喚醒登陸頁面標題中已經加載的JavaScript。 – user1128912 2012-01-04 08:54:44