Tooltipster — это мощная библиотека JavaScript для создания
современных, настраиваемых тултипов. Она особенно полезна для полей
ввода, позволяя отображать подсказки, ошибки валидации или
дополнительные сведения о вводимых данных. Основной принцип работы
заключается в инициализации тултипа на выбранном элементе с помощью
метода tooltipster() и последующей настройке его поведения
через параметры.
$('#input-field').tooltipster({
content: 'Введите корректный email',
theme: 'tooltipster-light',
trigger: 'custom',
triggerOpen: {
mouseenter: true
},
triggerClose: {
mouseleave: true
},
side: 'right',
animation: 'fade',
delay: 200
});
custom, чтобы
контролировать открытие через события focus и
blur.top, right,
bottom, left).Для полей ввода часто требуется отображать подсказки в зависимости от
состояния поля. Tooltipster поддерживает динамический контент через
функцию в опции content.
$('#username').tooltipster({
content: $('<span>Минимум 6 символов</span>'),
trigger: 'custom'
});
$('#username').on('input', function() {
var val = $(this).val();
if(val.length < 6) {
$(this).tooltipster('content', 'Минимум 6 символов').tooltipster('open');
} else {
$(this).tooltipster('close');
}
});
В данном примере тултип открывается только при несоответствии условиям и автоматически скрывается при корректном вводе. Это позволяет использовать Tooltipster для валидации форм в реальном времени без лишнего визуального шума.
Tooltipster часто используется совместно с библиотеками валидации
форм, такими как jQuery Validation. С помощью метода
updateContent можно обновлять текст тултипа при
ошибках.
$('#myForm').validate({
errorPlacement: function(error, element) {
$(element).tooltipster('content', $(error).text()).tooltipster('open');
},
success: function(label, element) {
$(element).tooltipster('close');
}
});
Для полей ввода важен контроль за открытием и закрытием тултипов.
Tooltipster позволяет комбинировать события focus,
blur, mouseenter и
mouseleave:
$('#email').tooltipster({
trigger: 'custom',
triggerOpen: {
focus: true
},
triggerClose: {
blur: true
},
interactive: true
});
triggerOpen и triggerClose
позволяет точнее контролировать поведение тултипа при работе с
формами.Tooltipster поддерживает HTML внутри тултипа, что удобно для оформления подсказок с подсветкой ошибок, ссылками на справку или списками инструкций.
$('#password').tooltipster({
content: $('<div><strong>Пароль должен содержать:</strong><ul><li>8+ символов</li><li>Цифры и буквы</li></ul></div>'),
theme: 'tooltipster-noir',
interactive: true
});
theme.Tooltipster автоматически корректирует позицию тултипа при изменении размеров окна и прокрутке страницы, но для полей ввода часто требуется конкретная сторона отображения.
$('#phone').tooltipster({
side: 'right',
distance: 10,
maxWidth: 250,
functionPosition: function(instance, helper, position){
if($(window).width() < 500) {
position.side = 'bottom';
}
return position;
}
});
Tooltipster предоставляет события для тонкой настройки поведения:
show — перед открытием тултипа.shown — после того, как тултип отобразился.hide — перед закрытием тултипа.hidden — после скрытия.Пример использования:
$('#age').on('shown.tooltipster', function() {
console.log('Тултип открыт для поля возраст');
});
Эти события позволяют запускать дополнительные функции, например, отслеживание статистики или динамическое обновление контента.
trigger: 'custom' с
focus/blur для точного контроля.content или метод
updateContent обеспечивает актуальность подсказок.side, distance и
functionPosition улучшает адаптивность.Использование Tooltipster для полей ввода превращает обычные формы в более интерактивные и понятные интерфейсы, повышая удобство взаимодействия и снижая количество ошибок при вводе данных.