В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once — не является функцией.
Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму — тестируемые элементы маркируются классом ‘processed’, а повторная проверка once() фильтрует тестируемые элементы по наличию этого класса.
Выглядит это обычно так:
|
|
$('.my-element').once().each( (index, elem) => { ... } ); |
А заменить это можно вот так:
|
|
$('.my-element:not(.processed)').each( (index, elem) => { $(elem).addClass('processed'); ... } ); |
Drupal 9/10
Данная запись опубликована в 08.05.2023 14:59 и размещена в рубрике Drupal, jQuery.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 5, 2025 г.
Иногда в Drupal возникает ситуация: вы удаляете поле с типов сущностей (bundle), но оно не исчезает полностью из системы. UI говорит, что поле «используется», хотя на самом деле ни одна сущность его не использует. В этом случае поле остаётся в конфигурации ...
Читать
Март 16, 2024 г.
Задача модуля - дать возможность разделить конфигурации сайта для разных системных окружений. На локальном сервере вы можете использовать такие модули ...
Читать
Март 18, 2024 г.
Drupal интерпретирует чекбокс как integer. Это вызывает некоторое непонимание при работе с полем через Drupal form API. Давайте рассмотрим пример объявления и чтения данных поля формы.
Объявление checkbox поля в вашей форме:
[crayon-6a04a07910ff7494016768/] ...
Читать
Январь 9, 2024 г.
Функция file_create_url устаревает, начиная с версии 9.3, а в 10й версии она уже отсутствует.
Документация предлагает воспользоваться реализацией интерфейса \Drupal\Core\File\FileUrlGeneratorInterface, чтобы заместить устаревающую функцию в вашем ...
Читать