2011-02-22 101 views
1

我正在一個Drupal站點上工作,其中Colorbox正在被用於圖像,但它是手動添加的,而不是通過模塊添加的。Colorbox和Drupal視圖Ajax Pager

當Colorbox用於使用Views生成的照片庫並且使用AJAX處理分頁時,會發生此問題。第一頁正常工作,但任何其他頁面不會激發Colorbox彈出窗口。

在我看來,Colorbox不知道新的元素,因爲它們在頁面加載時不在DOM中。有了這個想法我試圖綁定彩盒$ .colorbox.init()方法將尋呼事件,但總是返回錯誤:

「未定義:$ .colorbox.init()」

這裏是什麼我加入到Drupal的意見模塊來進行測試,在從尋呼事件成功狀態(ajax_views.js線:132):

success: function(response) { 
       $.event.trigger('pagedContent'); 

以下是我與捕獲它:

$(document).bind('pagedContent', function() { 
    $.colorbox.init(); }); 

我al所以嘗試只是再次運行常規初始化,而沒有結果。

$(document).bind('pagedContent', function() { 
    $('myselector').colorbox(); }); 

我敢肯定,我應該接近這一點不同,以Drupal的遵循最佳實踐,但是這似乎像它應該工作,我不知道爲什麼它沒有。我在這裏偏離軌道,方法錯了嗎?

回答

0

爲了將事件附加到異步顯示的元素,您必須使用Drupal Behaviors或JQuery live函數。