Метод content библиотеки Tooltipster
используется для управления содержимым всплывающей подсказки. Он
позволяет динамически получать или задавать контент тултипов после
инициализации, что делает работу с подсказками гибкой и адаптивной к
изменениям DOM или данным, поступающим из API.
// Получение текущего содержимого
var currentContent = $(element).tooltipster('content');
// Установка нового содержимого
$(element).tooltipster('content', newContent);
Параметры метода:
newContent – новое содержимое тултипа. Может
быть:
Строка HTML
$(element).tooltipster('content', '<strong>Привет!</strong>');DOM-элемент
var div = document.createElement('div');
div.textContent = 'Динамический контент';
$(element).tooltipster('content', div);jQuery-объект
var $div = $('<div>Текст из jQuery</div>');
$(element).tooltipster('content', $div);Функция обратного вызова – используется для динамической генерации контента на лету:
$(element).tooltipster('content', function(instance, helper){
return 'Сгенерированный контент: ' + new Date().toLocaleTimeString();
});Если метод вызывается без аргументов:
var current = $(element).tooltipster('content');
Метод принимает один аргумент – новое содержимое тултипа. Важные особенности:
HTML-разметка Tooltipster по умолчанию интерпретирует строки как HTML, поэтому можно использовать теги для форматирования текста.
$(element).tooltipster('content', '<em>Италик</em> и <strong>жирный</strong>');Динамический контент через функцию Функция получает два аргумента:
instance – объект тултипа, позволяющий управлять его
поведением.helper – объект с информацией о событии и контексте
(например, элемент, вызвавший тултип).$(element).tooltipster('content', function(instance, helper){
return 'Элемент: ' + helper.origin.textContent;
});
Такой подход удобен для обновления информации на основе состояния страницы, сетевых запросов или пользовательских данных.
DOM-элементы и jQuery-объекты Если передать DOM-элемент или jQuery-объект, Tooltipster автоматически клонирует его для отображения. Это позволяет использовать уже существующие элементы страницы без дублирования кода.
Перерендер тултипа: после изменения содержимого Tooltipster автоматически обновляет отображение при следующем показе.
Поддержка анимаций: новые данные будут отображены с заданной анимацией появления тултипа.
Асинхронный контент: для работы с AJAX можно использовать функцию обратного вызова и возвращать результат через промис:
$(element).tooltipster('content', function(instance, helper){
return $.get('/tooltip-data/' + helper.origin.dataset.id);
});Сохранение состояния: если требуется, чтобы старый контент не перезаписывался до завершения асинхронной загрузки, можно предварительно установить индикатор загрузки:
$(element).tooltipster('content', 'Загрузка...');Управление сложными структурами: метод
content поддерживает вставку контейнеров с внутренними
элементами, таблицами, изображениями и формами.
1. Изменение контента по событию:
$('#button').on('click', function(){
$('#tooltip-target').tooltipster('content', 'Контент обновлен!');
});
2. Использование текущего контента для логики:
var currentText = $('#tooltip-target').tooltipster('content');
if(currentText.includes('ошибка')){
$('#tooltip-target').tooltipster('content', 'Исправлено!');
}
3. AJAX-подгрузка данных:
$('#tooltip-target').tooltipster({
functionBefore: function(instance, helper){
if(!instance.contentSet){
$.get('/api/info', function(data){
instance.content(data);
instance.contentSet = true;
});
}
}
});
Метод content является одним из самых гибких
инструментов Tooltipster, позволяя полностью контролировать, что
отображается во всплывающих подсказках, адаптируя их под динамические
данные и сложные интерфейсы.