Colorbox и Drupal Views Ajax Pager - PullRequest
       40

Colorbox и Drupal Views Ajax Pager

1 голос
/ 23 февраля 2011

Я работаю на сайте Drupal, где Colorbox используется для изображений, но он был добавлен вручную, а не через модуль.

Проблема возникает, когда Colorbox используется для фотогалереи, созданной с помощью Views, а обработка страниц выполняется с помощью AJAX.Первая страница работает нормально, но любые дополнительные страницы не запускают всплывающее окно Colorbox.

Мне кажется, что Colorbox не знает о новых элементах, потому что они не присутствовали в DOM при загрузке страницы.С этой мыслью я попытался привязать метод Colorbox $ .colorbox.init () к событию подкачки, но всегда возвращает ошибку:

"Undefined: $ .colorbox.init ()"

Вот то, что я добавил в модуль Views Drupal, чтобы проверить это после статуса «Успешно» из события подкачки (строка ajax_views.js: 132):

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

Вот что я ловлю с этим:

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

Я также попытался вместо этого просто запустить обычную инициализацию, но без результатов.

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

Я уверен, что мне следует подойти к этому немного по-другому, чтобы следовать рекомендациям drupal, нопохоже, это должно работать, и мне интересно, почему это не так.Я тут не в курсе, неправильный подход?

1 Ответ

0 голосов
/ 10 ноября 2011

Вы должны использовать Drupal Behaviors или живую функцию JQuery, чтобы прикреплять события к элементам, которые появляются асинхронно.

...