jQuery, пересканирование DOM и события при выполнении ajax-запросов, верное решение

Главные вкладки

Аватар пользователя shevgeny shevgeny 23 октября 2015 в 21:56

Ситуация такая:
имеется view, в котором подгрузка содержимого осуществляется через views load more, и ко всем элементам применяется библиотека http://packery.metafizzy.co.

Пробовал применять библиотеку через стандартный

(function($) {
  Drupal.behaviors.FUNCTION_NAME = {
    attach: function (context, settings) {
      …
    }
  };
})(jQuery);

но он не срабатывает после подгрузки содержимого, и не срабатывает потому, что packery нужно дать команду пересканировать контейнер после подгрузки содержимого. Пришлось изменить скрипт подгрузки модуля views load more, всё заработало, но задался вопросом, как правильно поступать в подобных ситуациях, не меняя скрипты модулей? Может есть какой-то "кошерный" способ?

Буду очень благодарен за небольшой экскурс, думаю, многим может быть полезно знать Smile

Комментарии

Аватар пользователя shevgeny shevgeny 27 октября 2015 в 14:04

ttenz wrote:
а библиотеку через модуль https://www.drupal.org/project/packery ?

Да, изначально через него и пробовал, но он напрочь отказывается работать с views load more. В issue писал (https://www.drupal.org/node/2513442), но никто не ответил до сих пор. Полагаю, проблема близкая к той, о которой тоже почему-то молчат в модуле https://www.drupal.org/project/scrollreveal, хотя решается она одной строкой — http://www.drupal.ru/node/125655.