2012-05-23 17 views
0

我正在使用第三方標籤控件,它是一個名爲Active Social的DotNetnuke模塊的一部分,我沒有任何文檔。問題是,當我更改標籤時,我失去了一個js(masonry.js),它在標籤中加載了正在加載的內容。我需要重新綁定腳本,但沒有成功使用Active Social for DotNetNuke切換標籤頁後jQuery重新綁定

這是我到目前爲止。

我使用我在以前的項目

已經使用再結合法
function BindControlEvents() { 
     //jQuery is wrapped in BindEvents function so it can be re-bound after each callback. 
     var $container = $('.addMasonry'); 
     $container.imagesLoaded(function() { 
      $container.masonry({ 
       itemSelector: '.explore-image', 
       columnWidth: 10, 
       isFitWidth: true 
      }); 

     }); 

    } 
    //Initial bind 
    $(document).ready(function() { 
     BindControlEvents(); 
    }); 

//重新綁定回調 VAR PRM = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() { 
     BindControlEvents(); 
    }); 

但是,當標籤更改時,這不會重新綁定。所以我在頁面上創建了一個按鈕

<li><a onclick="BindControlEvents();" href="#">re-bind</a></li> 

在選項卡更改後單擊此按鈕將重新綁定我的腳本。

下一步我想是要找到,告訴我一個標籤加載完成,但到目前爲止,我還沒有成功

我曾嘗試選擇選項卡容器和.load運行BindControlEvents功能(事件)和.ajaxComplete()但仍然沒有成功。

有沒有其他方法可以找出標籤何時滿載。我知道我可能不會付出太多的努力,但這是我所知道的。

感謝您的幫助

馬克

+0

不知道你用什麼標籤控件,我們不能真正幫助你,因爲我們不知道如何調查一種方法來知道何時加載標籤。你可以切換到使用jQuery UI選項卡嗎? – bygrace

+0

我雖然這會讓它變得艱難。我無法切換,因爲這些標籤是名爲Active Social的DotNetNuke模塊的核心部分。也許我應該加入這個問題,希望有人在這裏經歷了同樣的事情。 –

回答

0

也許有未截獲局部回傳,嘗試添加以下你的js,jQuery的初始化之外:

<script type="text/javascript"> 
    Sys.Application.add_load(BindControlEvents); 

    function BindControlEvents() { 
    [...] 
    </script> 

希望這幫助, 等。