Для использования Tooltipster необходимо подключить библиотеку и
CSS-стили. Обычно это делается через <script> и
<link>:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tooltipster/dist/css/tooltipster.bundle.min.css" />
<script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tooltipster/dist/js/tooltipster.bundle.min.js"></script>
Инициализация выполняется через jQuery:
$('.tooltip').tooltipster({
theme: 'tooltipster-default',
animation: 'fade',
delay: 200
});
Здесь theme, animation и delay
— основные опции, влияющие на внешний вид и поведение подсказки.
Tooltipster создаёт DOM-элементы для каждого тултипа и хранит их в памяти до тех пор, пока они не уничтожены. При динамическом добавлении и удалении элементов страницы это может привести к утечкам памяти.
Ключевые методы для управления ресурсами:
destroy() — удаляет тултип и освобождает память,
связанную с элементом.$('.tooltip').tooltipster('destroy');
После вызова этого метода тултип больше не будет активен, и все обработчики событий будут сняты.
off() — отключает конкретные события Tooltipster без
полного уничтожения тултипа.$('.tooltip').tooltipster('off', 'mouseenter');
Используется, если необходимо временно деактивировать подсказки.
Для элементов, которые создаются динамически, полезно применять ленивую инициализацию: тултип создаётся только при первом наведении. Это снижает нагрузку на память при большом количестве элементов.
$('.tooltip').tooltipster({
trigger: 'hover',
functionInit: function(instance, helper){
// Подготовка данных для тултипа только при первом показе
instance.content('Динамически сгенерированное содержимое');
}
});
Такой подход предотвращает создание лишних объектов в DOM, которые занимают память.
Tooltipster позволяет обновлять содержимое тултипа без его уничтожения. Для управления памятью это особенно важно, если тултип содержит сложные элементы или медиа:
$('.tooltip').tooltipster('content', $('<div>Новый контент</div>'));
При замене содержимого старые элементы автоматически удаляются из DOM и освобождают ресурсы. Это предотвращает накопление невидимых узлов.
В версии Tooltipster 4+ есть опция selfDestruction (в
некоторых конфигурациях реализуется через functionAfter),
которая позволяет автоматически уничтожать тултип после закрытия, что
снижает нагрузку на память:
$('.tooltip').tooltipster({
functionAfter: function(instance, helper){
instance.destroy();
}
});
Использование такого метода особенно эффективно на страницах с большим количеством динамических тултипов.
Tooltipster активно использует события jQuery, поэтому важно снимать обработчики при удалении элементов, чтобы избежать утечек памяти:
$(document).on('click', '.dynamic-element', function(){
$(this).tooltipster('destroy');
});
Каждое динамически созданное поле получает тултип только на время жизни элемента, что предотвращает накопление лишних ссылок.
Управление памятью в Tooltipster строится на трёх принципах:
destroy().content() и
off().Соблюдение этих правил гарантирует минимальное потребление ресурсов и предотвращает утечки памяти при масштабном использовании Tooltipster.