2013-07-01 27 views
0

在我的父窗口中顯示的選項卡很少。 在父窗口上,我認爲有一些點擊代碼,但我無法訪問或查看PARENT頁面。jquery在父裝載完成後調用iframe文檔

$(document).ready(function(){ 
    $('.tab').click(function(){ 
     // Do something. Show/Hide tab panel according to tabs 
    }); 
}) 

在I幀窗口

$(document).ready(function(){ 
    // Add new tab in the parent window from I frame. 
    $("#ParentTab", parent.document).after('<a href="#" class=".tab" tabid="newtab">New Tab</a>'); 
    // Add the panel in parent window for this new tab 
    $("#ParentTabPanel", parent.document).after('<div tabid="newtab">Some Content</div>'); 
}) 

此代碼工作正常,並沒有表現出任何的js錯誤。 iframe內容已成功加載並在父窗口中添加了選項卡。但是當我點擊NewTab時,它不顯示tabpanel。奇怪,當我按Ctrl +刷新瀏覽器的作品。

第一次加載原因時我不工作?請幫我解決這個問題。 將父標籤點擊事件複製到新添加的標籤。可能嗎?如何檢查。

回答

0

您的新選項卡是動態添加的,不會設置事件處理程序。

您可以將文稿對象,而不是在處理程序來註冊:

$(document).ready(function(){ 
$(document).on('click', '.tab' ,function(){ 
// Do something. Show/Hide tab panel according to tabs 
}); 
}) 

這是可能的父窗口的「準備好」事件後的孩子的「準備好」事件觸發。使第一頁加載不起作用。

+0

謝謝你的快速回復。基本上我無法看到父窗口上標籤的準備好事件。他們來自第三方工具。我添加了一個自定義選項卡isside。 –

+0

我可以將父標籤的點擊事件複製到新添加的標籤嗎? –

+0

您不需要,我的答案將註冊點擊處理程序註冊到docuemnt對象,並將對所有.tab s有效。 – DavidLin

相關問題