2012-03-19 65 views
0

我正在尋找一種方法來加載頁面(頁面A)(我也創建 - 所以不是網頁上的外部頁面)動態地加載到現有頁面(頁面B)。目標是影響頁面B上使用的Javascript/jquery中頁面A的行爲。 示例:單擊pageA中的按鈕時,我希望頁面B上的Javascript對此做出反應。jQuery加載後訪問主要的javascript

我試圖做到這一點使用jQuery $()load()函數,但是這並不讓我從一個頁面A.調用網頁B的JavaScript的

具體代碼: 我的網頁B包含此:

jQuery(document).ready(function() { 
    jQuery('#mycarousel').jcarousel({ }); 
}); 

而且我將添加一個新的標籤,從頁面(A)的旋轉木馬和內容加載到該選項卡的功能。

$('.ref').click(function() { 
     var newTabId = jQuery('#mycarousel').jcarousel('size') + 1; 
     carousel 
       .add(
         newTabId, 
         "<li style='width: 50%;'><div id='tab" + newTabId + "' style='height: auto;'></div></li>"); 
     // load content 
     $("#tab" + newTabId).load("/relativepath/" + $(this).attr('id')); 
    }); 

這適用於靜態內容(所以當我在旋轉木馬中有靜態選項卡)。現在我想這也適用於動態添加的選項卡。 實施例: 階段1:[標籤1] [標籤2] 我在選項卡1上的按鈕點擊時,創建一個新標籤和所述內容是從/一個/相對/路徑

磷酸酶2加載:[選項卡1] [選項卡2] [選項卡3] 我點擊選項卡3中的按鈕,應添加新選項卡,並將來自另一相對路徑的內容加載到選項卡中。

我希望我做我的問題說清楚:)

+0

您必須同時打開兩個頁面,無論是在子窗口還是iframe子項中都要使腳本同時進行交互。 – 2012-03-19 22:29:35

+0

很高興能幫到你! – Relic 2012-03-22 21:30:46

回答

0

你在需要的「對()」方法......每當我看到一個AJAX和有約束力的問題,這通常是答案。

$('body').on("click", '.ref', function() { 
    var newTabId = jQuery('#mycarousel').jcarousel('size') + 1; 
    carousel.add(newTabId, 
     "<li style='width: 50%;'><div id='tab" + newTabId + "' style='height: auto;'></div></li>"); 
    // load content 
    $("#tab" + newTabId).load("/relativepath/" + $(this).attr('id')); 
}); 

根據關你的問題,我不知道是否能解決你的問題,但你會發現,當使用「對()」而不是「點擊()」這手錶最初的選擇元素用於'.ref'上的'點擊',無論元素在解析javascript/jQuery時還是在'.ref'的元素添加到DOM後都存在。