Для работы с Tooltipster необходимо подключить как CSS, так и JS файлы библиотеки. Наиболее часто используемый способ — подключение через CDN:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tooltipster@4.2.8/dist/css/tooltipster.bundle.min.css" />
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tooltipster@4.2.8/dist/js/tooltipster.bundle.min.js"></script>
Важно убедиться, что версия jQuery совместима с Tooltipster (обычно это jQuery ≥ 1.7).
После подключения файлов инициализация производится вызовом метода
tooltipster() на выбранных элементах:
$('.tooltip').tooltipster();
Если инициализация не работает, необходимо проверить:
Tooltipster поддерживает множество опций. Для начальной отладки удобно использовать минимальный пример:
$('.tooltip').tooltipster({
content: 'Простой тултип',
animation: 'fade',
delay: 200,
theme: 'tooltipster-light'
});
Ключевые моменты для проверки:
$(document).ready() или
$(function(){})).Tooltipster использует jQuery и собственные классы CSS. Частые проблемы при инициализации:
$.tooltipster-*.tooltipster() или использовать делегирование:$(document).on('mouseenter', '.dynamic-tooltip', function() {
if (!$(this).hasClass('tooltipstered')) {
$(this).tooltipster({
content: 'Динамический тултип'
}).tooltipster('open');
}
});
Tooltipster поддерживает:
Пример использования HTML:
$('.tooltip-html').tooltipster({
content: $('<span><strong>Жирный текст</strong> и <em>курсив</em></span>'),
contentAsHTML: true
});
Отладочные моменты:
contentAsHTML: true включен при
использовании HTML.functionBefore и functionReady.Наиболее частые причины, почему тултипы не появляются:
tooltipster() — инициализация должна идти после
подключения скриптов.overflow: hidden у родителя скрывают
тултип.Для проверки можно добавить временный стиль:
.tooltipster-box {
border: 2px solid red !important;
}
Если рамка появляется, значит тултип создается, но скрыт стилями.
Для отслеживания проблем удобно использовать консоль:
$('.tooltip').tooltipster({
functionInit: function(instance, helper) {
console.log('Инициализация тултипа для элемента:', helper.origin);
},
functionReady: function(instance, helper) {
console.log('Тултип открыт для:', helper.origin);
}
});
Это позволяет понять, вызывается ли инициализация, и открывается ли тултип в принципе.
Tooltipster использует position и trigger
для управления положением и поведением тултипа:
position: 'top' | 'bottom' | 'left' | 'right'trigger: 'hover' | 'click' | 'custom'Частые ошибки:
overflow: hidden — тултип
обрезается.maxWidth и
minWidth, что вызывает разрывы или перекрытия.При работе с AJAX-контентом или контентом из сторонних источников:
$('.tooltip-ajax').tooltipster({
content: 'Загрузка...',
functionBefore: function(instance, helper) {
var $origin = $(helper.origin);
if ($origin.data('loaded') !== true) {
$.get('/tooltip-data', function(data) {
instance.content(data);
$origin.data('loaded', true);
});
}
}
});
Советы по отладке:
console.log() для проверки состояния
instance и helper.origin.Эта методика позволяет шаг за шагом диагностировать большинство проблем с Tooltipster: от простых ошибок подключения до сложных конфликтов с динамическим контентом и стилями.