xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Как открыть в Lightbox картинки, которые были добавлены на страницу с помощью AJAX

Опубликовано в

Чтобы контент, который был добавлен с помощью AJAX, открывался в Lightbox-e, нужно после вставки его (контента) в DOM вызвать функцию Drupal.attachBehaviors([context]). Например:

Drupal.behaviors.mymodule = function(context) {
  $('#ajax-link', context).click(function () {
    $.get(Drupal.settings.basePath + 'some/path', function(response) {
      $('#target').html(response);       // вставляем контент
      Drupal.attachBehaviors('#target'); // оповещаем другие модули
    });
  });
}

Drupal по адресу some/path должен отдать что-нибудь в духе:

<a href="/sites/default/files/01.jpg" rel="lightbox"><img src="/sites/default/files/01-thumb.jpg" /></a>
<a href="/sites/default/files/02.jpg" rel="lightbox"><img src="/sites/default/files/02-thumb.jpg" /></a>

По хорошему, Drupal.attachBehaviors([context]); надо вызывать при любом изменении контента, чтобы другие модули могли реагировать на это событие.

Написанное актуально для Drupal 6
Похожие записи

Комментарии RSS

Здравствуйте!

Пытаюсь обработать AHAH-чекбокс в окне модуля Lightbox2 (данная форма работает и возвращает нужные данные в формате json без лайтбокса).

В окне же, после отметки галочкой, никаких действий не происходит (стандартный прелоадер также не появляется).

Предложенное здесь относится к решению этой проблемы?

В js я не очень понимаю.

Предложенное здесь относится к решению этой проблемы?

нет

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании