Информеры
Добавьте небольшой overlay контент, например, найденный в iOS, в любой элемент для размещения вторичной информации.
Содержание
- Содержание
- Обзор
- Пример: включить информеры везде
- Пример: использование параметра
container
- Статический информер
- Демо-версия
- Применение
Обзор
Что нужно знать при использовании плагина информеров
- Информеры полагаются на стороннюю библиотеку Tether для позиционирования. Вы должны включить tether.min.js перед bootstrap.js для того, чтобы информеры работали!
- Информеры требуют tooltip plugin.
- Информеры выбираются по соображениям производительности, поэтому вы должны инициализировать их самостоятельно.
- Значения нулевой длины
title
иcontent
никогда не будут отображаться. - Укажите
container: 'body'
, чтобы избежать проблем с отображением более сложных компонентов (например, групп ввода, групп кнопок и т. д.). - Запуск информеров на скрытых элементах не будет работать.
- Информеры для элементов с расширением
.disabled
илиdisabled
должны быть запущены на элементе обертки. - При запуске из гиперссылок, которые охватывают несколько строк, переходы будут центрированы. Используйте
white-space: nowrap;
на ваших<a>
, чтобы избежать такого поведения.
Получили все это? Отлично, давайте посмотрим, как они работают на некоторых примерах.
Пример: включить информеры везде
Один из способов инициализации всех информеров на странице - выбрать их по их атрибуту data-toggle
:
Пример: использование параметра container
Если у вас есть несколько стилей в родительском элементе, которые мешают работе с информерами, вам нужно будет указать собственный container
, так что HTML-код информера будет отображаться внутри этого элемента.
Статический информер
Доступны четыре варианта: верхний, правый, нижний и левый.
Popover top
Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
Popover right
Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
Popover bottom
Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
Popover left
Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
Демо-версия
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="А здесь потрясающий контент. Это очень интересно. Не так ли?">Click to toggle popover</button>
Четыре направления
Закрытие при следующем клике
Используйте триггер focus
, чтобы закрыть информер при следующем клике, который делает пользователь.
Специальная разметка, необходимая для отклонения при следующем нажатии
Для правильного кросс-браузерного и кросс-платформенного поведения вы должны использовать тег <a>
, а не тег <button>
, и вы также должны включить атрибут tabindex
.
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
Применение
Включить информеры через JavaScript:
Опции
Параметры могут передаваться через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя параметра к data-
, как в data-animation=""
.
Название | Тип | По умолчанию | Описание |
---|---|---|---|
animation | boolean | true | Применяет CSS-переход с исчезновением к информеру |
container | string | false | false |
Добавляет информер к определенному элементу. Пример: |
content | string | element | function | '' |
Значение содержимого по умолчанию, если атрибут Если функция задана, она будет вызвана с |
delay | number | object | 0 |
Задержка отображения и скрытия popover (ms) - не применяется к типу ручного триггера Если задано число, задержка применяется для обоих: скрыть/показать Структура объекта: |
html | boolean | false | Вставьте HTML в popover. Если false, метод jQuery text будет использоваться для вставки содержимого в DOM. Используйте текст, если вы беспокоитесь об атаках XSS. |
placement | string | function | 'right' |
Как разместить информер - сверху | снизу | слева | справа. Когда функция используется для определения места размещения, она вызывается с первичным узлом DOM в качестве первого аргумента, а узел DOM триггера - своим вторым. Контекст |
selector | string | false | Если предоставлен селектор, пинформеры будут делегированы указанным целям. На практике это используется для того, чтобы динамический HTML-контент добавлял информеры. Смотрите это и информативный пример. |
template | string | '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' |
Базовый HTML для использования при создании информера.
Внешний элемент обертки должен иметь класс |
title | string | element | function | '' |
Значение заголовка по умолчанию, если атрибут Если функция задана, она будет вызвана с |
trigger | string | 'click' | Как запускается информер - при нажатии | при наведении | при фокусе | manual. Вы можете передавать несколько триггеров; разделите их пробелом. `Manual` не может комбинироваться с любым другим триггером. |
constraints | Array | 'hover focus' | Массив ограничений - передается в Tether. Для получения дополнительной информации обратитесь к документам органиченийTether. |
offset | string | '0 0' | Смещение информера относительно его цели. Для получения дополнительной информации обратитесь к offset документамTether. |
Атрибуты данных для отдельных информеров
Варианты для отдельных информеров можно альтернативно определить с помощью использования атрибутов данных, как описано выше.
Методы
$().popover(options)
Инициализирует информеры для коллекции элементов.
.popover('show')
Показывает информер элемента. Возвращает к вызывающему до фактического отображения информера (т. е. до появления события shown.bs.popover
). Это считается «ручным» запуском информера. Информеры, названия и содержание которых нулевой длины, никогда не отображаются.
.popover('hide')
Скрывает информер элемента. Возвращает к вызывающему до фактического скрытия информера (т. е. до появления события hidden.bs.popover
). Это считается «ручным» запуском информера.
.popover('toggle')
Переключает информер элемента.Возвращает к вызывающему до того, как информер был показан или скрыт (т.е. до появления события shown.bs.popover
или hidden.bs.popover
). Это считается «ручным» запуском информера.
.popover('dispose')
Скрывает и уничтожает информер элемента. Информеры, использующие делегирование (которые создаются с использованием the selector
option) не могут быть индивидуально уничтожены в элементах триггера спутника.
События
Тип события | Описание |
---|---|
show.bs.popover | Это событие срабатывает сразу после вызова метода show . |
shown.bs.popover | Это событие вызывается, когда информер становится видимым для пользователя (будет ждать завершения переходов CSS). |
hide.bs.popover | TЭто событие вызывается немедленно при вызове метода hide . |
hidden.bs.popover | Это событие вызывается, когда информер закончил скрываться от пользователя (будет ждать завершения CSS-переходов). |