2010-12-04 59 views
2

我已經創建了一個asp.net applicaton,其中包含一個具有更新面板的aspx。 我有一個加載usercontrols的更新面板中的按鈕。jQuery已準備好動態加載控件

我的用戶控件我試圖使用jQuery的facebox插件。

jQuery(document).ready(function ($) { 

    $('a[rel*=facebox]').facebox({ 
     loadingImage: '/styles/images/facebox/loading.gif', 
     closeImage: '/styles/images/facebox/closelabel.png' 
    }); 
}); 

所以對於任何錨標記我想這個插件上下工夫我只需要添加rel="facebox"和它工作得很好。 我曾嘗試將rel =「facebox」添加到我想在我的用戶控件中使用的標記中,但是除了錨標記之外,沒有任何反應會將我重新映射到鏈接引用中,我試過添加上面的文檔。準備好的代碼都是aspx & ascx然而沒有任何反應。

這是由於usercontrol的動態加載?這是我需要做的其他一些步驟嗎?

任何幫助將是偉大的。謝謝

+0

我想你可能需要向我們展示一些更多的代碼 – Rob 2010-12-04 00:37:21

回答

0

開始排除故障的時間。在不同的地方添加這一行:console.log(「testing1」),並確保這些日誌消息顯示在Firefox的Firebug控制檯中。

  • 如果他們不這樣做,你有一些問題 ,並不包括在 你的問題的信息。
  • 如果就緒功能 觸發,但facebox不,它是 facebox的問題。

這是什麼?

+0

我將這一點添加到我的主頁面,aspx頁面和usercontrol。我發現除了usercontrol之外的所有內容都正在寫入控制檯 – 2010-12-04 00:39:52

2

是的,這是因爲更新面板。動態添加到頁面的代碼不會由jQuery選擇器自動匹配,因此事件處理程序不會觸發。爲了解決這個問題,您可以在加載新代碼後重新註冊事件處理程序,也可以使用live()。由於這些處理程序是在facebox中註冊的,因此您可能需要修改facebox的代碼。這裏有一個需要更改的實例:line 159