В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once — не является функцией.
Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму — тестируемые элементы маркируются классом ‘processed’, а повторная проверка once() фильтрует тестируемые элементы по наличию этого класса.
Выглядит это обычно так:
1 2 3 4 5 |
$('.my-element').once().each( (index, elem) => { ... } ); |
А заменить это можно вот так:
1 2 3 4 5 6 |
$('.my-element:not(.processed)').each( (index, elem) => { $(elem).addClass('processed'); ... } ); |