Подсказки
Документация и примеры добавления настраиваемых всплывающих подсказок Bootstrap с помощью CSS и JavaScript с использованием CSS3 для анимации и атрибутов данных для локального хранения заголовков.
Что нужно знать при использовании плагина всплывающей подсказки:
- Всплывающие подсказки полагаются на стороннюю библиотеку Popper.js для позиционирования. Вы должны включить popper.min.js перед bootstrap.js или использовать
bootstrap.bundle.min.js
/bootstrap.bundle.js
который содержит Popper.js, чтобы всплывающие подсказки работали! - Если вы создаете наш JavaScript из исходного кода, для этого требуется
util.js
. - Всплывающие подсказки являются обязательными из соображений производительности, поэтому вы должны инициализировать их самостоятельно .
- Подсказки с заголовками нулевой длины никогда не отображаются.
- Укажите
container: 'body'
, чтобы избежать проблем с рендерингом в более сложных компонентах (таких как наши группы ввода, группы кнопок и т. д.). - Запуск всплывающих подсказок для скрытых элементов не будет работать.
- Подсказки для элементов
.disabled
илиdisabled
должны запускаться для элемента-оболочки. - При запуске из гиперссылок, которые охватывают несколько строк, всплывающие подсказки будут центрированы. Используйте
white-space: nowrap;
на вашем<a>
s, чтобы избежать такого поведения. - Всплывающие подсказки должны быть скрыты до того, как соответствующие им элементы будут удалены из модели DOM.
Получил все это? Отлично, давайте посмотрим, как они работают, на нескольких примерах.
Один из способов инициализировать все всплывающие подсказки на странице — выбрать их по их data-toggle
атрибуту:
Наведите указатель мыши на ссылки ниже, чтобы увидеть всплывающие подсказки:
Узкие штаны следующего уровня куфии , вы, наверное , о них не слышали. Фотобудка с бородой из необработанного денима, высокой печатью, веганская сумка через плечо, Stumptown. Сейтан от фермы к столу, 8-битная американская одежда McSweeney's Fixie из устойчивой лебеды имеет виниловое шамбре Terry Richardson. Бородатый тупиковый город, кардиганы банх ми ломо тандеркэтс. Биодизель с тофу Уильямсбург Марфа, очищающий веганский шамбре четырех локо Максуини. По-настоящему ироничный ремесленник , какой бы кейтар ни был, сценастер с фермы на стол, Бэнкси Остин, Твиттер, ручка , Фриган Кред, сырой деним, вирусный кофе одного происхождения.
Наведите указатель мыши на кнопки ниже, чтобы увидеть четыре направления всплывающих подсказок: сверху, справа, снизу и слева.
И с добавлением пользовательского HTML:
Плагин всплывающих подсказок генерирует контент и разметку по запросу и по умолчанию размещает всплывающие подсказки после их триггерного элемента.
Запустите всплывающую подсказку через JavaScript:
Переполнение auto
иscroll
Позиция всплывающей подсказки пытается автоматически измениться, когда родительский контейнер имеет overflow: auto
или overflow: scroll
похож на наш .table-responsive
, но по-прежнему сохраняет исходное положение размещения. Чтобы решить эту проблему, установите для boundary
параметра значение, отличное от значения по умолчанию 'scrollParent'
, например 'window'
:
Необходимая разметка для всплывающей подсказки — это только data
атрибут и title
элемент HTML, в котором вы хотите иметь всплывающую подсказку. Сгенерированная разметка всплывающей подсказки довольно проста, хотя для нее требуется позиция (по умолчанию, установленная top
плагином).
Заставить всплывающие подсказки работать с клавиатурой и пользователями вспомогательных технологий
Вы должны добавлять всплывающие подсказки только к элементам HTML, которые традиционно активны с помощью клавиатуры и являются интерактивными (например, ссылки или элементы управления формы). Хотя произвольные элементы HTML (такие как <span>
s) можно сделать фокусируемыми, добавив tabindex="0"
атрибут, это добавит потенциально раздражающие и запутанные позиции табуляции для неинтерактивных элементов для пользователей клавиатуры. Кроме того, большинство вспомогательных технологий в настоящее время не объявляют всплывающую подсказку в этой ситуации.
Кроме того, не полагайтесь исключительно на hover
триггер всплывающей подсказки, так как это сделает ваши всплывающие подсказки невозможными для пользователей клавиатуры.
Элементы с этим disabled
атрибутом не являются интерактивными, то есть пользователи не могут сфокусироваться, навести курсор или щелкнуть их, чтобы вызвать всплывающую подсказку (или всплывающее окно). В качестве обходного пути вы захотите вызвать всплывающую подсказку из оболочки <div>
или <span>
, в идеале сделать ее фокусируемой на клавиатуре с помощью tabindex="0"
, и переопределить pointer-events
отключенный элемент.
Параметры можно передавать через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя опции к data-
, как в data-animation=""
.
Имя | Тип | По умолчанию | Описание |
---|---|---|---|
анимация | логический | истинный | Применить CSS-переход затухания к всплывающей подсказке |
контейнер | строка | элемент | ЛОЖЬ | ЛОЖЬ | Добавляет всплывающую подсказку к определенному элементу. Пример: |
задерживать | номер | объект | 0 | Задержка отображения и скрытия всплывающей подсказки (мс) — не относится к ручному типу триггера. Если указано число, задержка применяется как к скрытию, так и к показу. Структура объекта: |
HTML | логический | ЛОЖЬ | Разрешить HTML в подсказке. Если задано значение true, теги HTML во всплывающей подсказке Используйте текст, если вы беспокоитесь о XSS-атаках. |
размещение | строка | функция | 'Топ' | Как расположить всплывающую подсказку - авто | топ | дно | слева | Правильно. Когда функция используется для определения размещения, она вызывается с узлом DOM всплывающей подсказки в качестве первого аргумента и узлом DOM триггерного элемента в качестве второго. Контекст |
селектор | строка | ЛОЖЬ | ЛОЖЬ | Если предоставлен селектор, объекты всплывающей подсказки будут делегированы указанным целям. На практике это используется для включения всплывающих окон в динамический HTML-контент. См. это и информативный пример . |
шаблон | нить | '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>' |
Базовый HTML для использования при создании всплывающей подсказки. Всплывающая подсказка
Самый внешний элемент-оболочка должен иметь |
заглавие | строка | элемент | функция | '' | Значение заголовка по умолчанию, если Если задана функция, она будет вызываться со |
курок | нить | «наведение фокуса» | Как срабатывает всплывающая подсказка - нажмите | парить | фокус | руководство. Вы можете передать несколько триггеров; разделяйте их пробелом.
|
компенсировать | номер | нить | 0 | Смещение всплывающей подсказки относительно ее цели. Для получения дополнительной информации обратитесь к документации по смещению Popper.js . |
резервное размещение | строка | множество | 'кувырок' | Позволяет указать, какую позицию Поппер будет использовать при откате. Для получения дополнительной информации обратитесь к документации по поведению Popper.js. |
граница | строка | элемент | 'scrollParent' | Граница ограничения переполнения всплывающей подсказки. Принимает значения 'viewport' , 'window' , 'scrollParent' или ссылку HTMLElement (только для JavaScript). Для получения дополнительной информации обратитесь к документации по предотвращению переполнения Popper.js . |
Атрибуты данных для отдельных всплывающих подсказок
В качестве альтернативы параметры для отдельных всплывающих подсказок можно указать с помощью атрибутов данных, как описано выше.
Асинхронные методы и переходы
Все методы API являются асинхронными и запускают переход . Они возвращаются к вызывающей стороне сразу после начала перехода, но до его завершения . Кроме того, вызов метода переходного компонента будет игнорироваться .
См. нашу документацию по JavaScript для получения дополнительной информации.
Присоединяет обработчик всплывающей подсказки к коллекции элементов.
Отображает всплывающую подсказку элемента. Возвращает вызывающему объекту до того, как всплывающая подсказка действительно будет показана (т. е. до того , как shown.bs.tooltip
произойдет событие). Это считается «ручным» срабатыванием всплывающей подсказки. Подсказки с заголовками нулевой длины никогда не отображаются.
Скрывает всплывающую подсказку элемента. Возвращает вызывающему объекту до того, как всплывающая подсказка будет фактически скрыта (т. е. до того , как hidden.bs.tooltip
произойдет событие). Это считается «ручным» срабатыванием всплывающей подсказки.
Переключает всплывающую подсказку элемента. Возвращает вызывающему объекту до того, как всплывающая подсказка действительно была показана или скрыта (т. е. до того, как произошло событие shown.bs.tooltip
или ). hidden.bs.tooltip
Это считается «ручным» срабатыванием всплывающей подсказки.
Скрывает и уничтожает всплывающую подсказку элемента. Всплывающие подсказки, использующие делегирование (создаваемые с помощью параметра selector
) , не могут быть уничтожены по отдельности в дочерних элементах триггера.
Позволяет отображать всплывающую подсказку элемента. Подсказки включены по умолчанию.
Удаляет возможность отображения всплывающей подсказки элемента. Всплывающая подсказка будет отображаться только в том случае, если она снова включена.
Переключает возможность отображения или скрытия всплывающей подсказки элемента.
Обновляет положение всплывающей подсказки элемента.
Тип события | Описание |
---|---|
show.bs.tooltip | Это событие срабатывает сразу же при show вызове метода экземпляра. |
показанная.bs.подсказка | Это событие запускается, когда всплывающая подсказка становится видимой для пользователя (будет ожидать завершения переходов CSS). |
hide.bs.подсказка | Это событие запускается сразу после hide вызова метода экземпляра. |
скрытая.bs.подсказка | Это событие запускается, когда всплывающая подсказка перестает быть скрытой от пользователя (будет ждать завершения переходов CSS). |
вставленная.bs.подсказка | Это событие запускается после show.bs.tooltip события, когда шаблон всплывающей подсказки был добавлен в DOM. |