Tooltipster — это современная библиотека для создания подсказок
(tooltips) в JavaScript, которая позволяет управлять их появлением,
поведением и стилем через гибкие настройки и события. Одним из ключевых
событий для интерактивных подсказок является hover,
отвечающее за отображение тултипа при наведении курсора на элемент.
Для работы с Tooltipster необходимо подключить jQuery и саму
библиотеку Tooltipster. Инициализация тултипа на элементе выполняется
через метод .tooltipster():
$('.tooltip-element').tooltipster({
content: 'Это подсказка',
theme: 'tooltipster-light',
trigger: 'hover'
});
content — текст или HTML-содержимое тултипа.theme — визуальная тема подсказки.trigger: 'hover' — ключевая настройка, отвечающая за
событие наведения мыши.Если не указывать trigger, по умолчанию используется
hover.
Tooltipster предоставляет ряд опций, которые позволяют детально настраивать реакцию тултипа на наведение:
delay — задержка перед появлением или
скрытием подсказки:$('.tooltip-element').tooltipster({
trigger: 'hover',
delay: 300
});
animation — анимация
появления/скрытия:$('.tooltip-element').tooltipster({
trigger: 'hover',
animation: 'fade'
});
'fade', 'grow',
'swing', 'slide', 'fall'.interactive — делает подсказку
интерактивной:$('.tooltip-element').tooltipster({
trigger: 'hover',
interactive: true
});
functionBefore и
functionReady — хуки перед показом и после показа
тултипа:$('.tooltip-element').tooltipster({
trigger: 'hover',
functionBefore: function(instance, helper){
console.log('Подсказка готовится к показу');
},
functionReady: function(instance, helper){
console.log('Подсказка отображена');
}
});
functionBefore выполняется до показа тултипа. Можно
использовать для динамической подстановки содержимого.functionReady вызывается сразу после появления
тултипа.Tooltipster позволяет вручную управлять отображением подсказки, что важно для сложных интерфейсов:
$('.tooltip-element').tooltipster('show');
$('.tooltip-element').tooltipster('hide');
var isOpen = $('.tooltip-element').tooltipster('status');
console.log(isOpen); // true или false
Эти методы полезны, когда требуется сочетание события hover с другими триггерами, например кликом или программным событием.
Tooltipster поддерживает делегирование, что важно при динамически добавляемых элементах:
$(document).tooltipster({
selector: '.dynamic-tooltip',
trigger: 'hover',
content: 'Динамический тултип'
});
.dynamic-tooltip, добавленные
после загрузки страницы, автоматически получат тултип.На мобильных устройствах hover заменяется касанием, поэтому для корректного поведения рекомендуется использовать:
$('.tooltip-element').tooltipster({
trigger: 'hover',
touchDevices: true
});
touchDevices: true позволяет показывать тултипы
при касании пальцем.delay не меньше 200–300 мс для комфортного
восприятия.interactive: true.selector.$('.tooltip-element').tooltipster({
content: $('<span>Интерактивная подсказка с кнопкой</span><button>Нажми</button>'),
theme: 'tooltipster-shadow',
trigger: 'hover',
interactive: true,
delay: 250,
animation: 'grow',
functionBefore: function(instance, helper){
console.log('Подсказка готовится');
},
functionReady: function(instance, helper){
console.log('Подсказка показана');
}
});
functionBefore позволяет динамически менять содержимое
или подгружать данные при наведении.Эта функциональность hover делает Tooltipster мощным
инструментом для реализации удобных и интерактивных подсказок в любых
веб-приложениях.