Tippy.js — это современная библиотека для создания подсказок и тултипов в JavaScript. Для диагностики и отладки поведения тултипов в процессе разработки предусмотрен debug режим, который позволяет визуально и программно отслеживать, как Tippy.js управляет позиционированием, событиями и жизненным циклом тултипов.
Debug режим активируется через опцию
debug при создании экземпляра Tippy. Она принимает
булево значение:
import tippy from 'tippy.js';
tippy('.tooltip', {
content: 'Пример тултипа',
debug: true
});
При установке debug: true Tippy.js:
При включенном debug режиме консоль содержит сообщения следующего вида:
Tippy instance created — создание нового тултипа.Tippy mounted — тултип смонтирован в DOM.Tippy shown / Tippy hidden — тултип
показан или скрыт.Tippy destroyed — тултип удален.Popper data: { placement: 'top', offsets: { x: 0, y: -10 } }.Эти сообщения полезны для проверки правильности расположения тултипов, особенно при динамических изменениях DOM или использовании сложных анимаций.
Debug режим автоматически добавляет к тултипу и референтному элементу контурные рамки:
Это позволяет наглядно видеть, куда Tippy.js рассчитывает позицию тултипа, и исправлять ошибки, связанные с перекрытием или неправильным смещением.
При динамическом изменении содержимого тултипов debug режим помогает:
setContent:const instance = tippy('.tooltip', { content: 'Старый текст', debug: true });
instance.setContent('Новый текст');
// В консоли появится сообщение о перерендеринге тултипа
Tippy.js использует Popper.js для вычисления позиции тултипа. Debug режим дополнительно выводит информацию о Popper state:
popperInstance.state // объект с текущим placement, offsets и strategy
С помощью этих данных можно:
top,
bottom-start, right-end и др.).offset и
distance.debug: false), чтобы избежать лишних
сообщений в консоли и визуальных элементов.interactive и
followCursor для отладки сложных интерактивных
тултипов.onShow, onHide, onMount) для
отслеживания всех этапов появления тултипа.Debug режим Tippy.js — мощный инструмент для анализа поведения тултипов. Он обеспечивает как визуальные маркеры, так и подробные сообщения в консоли, что облегчает выявление ошибок позиционирования, неправильных смещений и проблем с динамическим контентом.