Компоненты

Более десятка компонентов, созданных для отображения кнопок, выпадающих списков, навигации, предупреждений и многого другого.

Информеры

Добавьте небольшой overlay контент, например, найденный в iOS, в любой элемент для размещения вторичной информации.

Содержание

Обзор

Что нужно знать при использовании плагина информеров

  • Информеры полагаются на стороннюю библиотеку Tether для позиционирования. Вы должны включить tether.min.js перед bootstrap.js для того, чтобы информеры работали!
  • Информеры требуют tooltip plugin.
  • Информеры выбираются по соображениям производительности, поэтому вы должны инициализировать их самостоятельно.
  • Значения нулевой длины title и content никогда не будут отображаться.
  • Укажите container: 'body', чтобы избежать проблем с отображением более сложных компонентов (например, групп ввода, групп кнопок и т. д.).
  • Запуск информеров на скрытых элементах не будет работать.
  • Информеры для элементов с расширением .disabled или disabled должны быть запущены на элементе обертки.
  • При запуске из гиперссылок, которые охватывают несколько строк, переходы будут центрированы. Используйте white-space: nowrap; на ваших <a>, чтобы избежать такого поведения.

Получили все это? Отлично, давайте посмотрим, как они работают на некоторых примерах.

Пример: включить информеры везде

Один из способов инициализации всех информеров на странице - выбрать их по их атрибуту data-toggle:

$(function () {
  $('[data-toggle="popover"]').popover()
})

Пример: использование параметра container

Если у вас есть несколько стилей в родительском элементе, которые мешают работе с информерами, вам нужно будет указать собственный container, так что HTML-код информера будет отображаться внутри этого элемента.

$(function () {
  $('.example-popover').popover({
    container: 'body'
  })
})

Статический информер

Доступны четыре варианта: верхний, правый, нижний и левый.

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>

Четыре направления

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on top
</button>

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on right
</button>

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus
sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on bottom
</button>

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on left
</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>
$('.popover-dismiss').popover({
  trigger: 'focus'
})

Применение

Включить информеры через JavaScript:

$('#example').popover(options)

Опции

Параметры могут передаваться через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя параметра к data-, как в data-animation="".

Название Тип По умолчанию Описание
animation boolean true Применяет CSS-переход с исчезновением к информеру
container string | false false

Добавляет информер к определенному элементу. Пример: container: 'body'. Эта опция особенно полезна в том плане, что она позволяет позиционировать информер в потоке документа рядом с триггерным элементом, что предотвратит всплытие информера от элемента триггера во время изменения размера окна.

content string | element | function ''

Значение содержимого по умолчанию, если атрибут data-content отсутствует.

Если функция задана, она будет вызвана с this ссылкой на элемент, к которому присоединен информер.

delay number | object 0

Задержка отображения и скрытия popover (ms) - не применяется к типу ручного триггера

Если задано число, задержка применяется для обоих: скрыть/показать

Структура объекта: delay: { "show": 500, "hide": 100 }

html boolean false Вставьте HTML в popover. Если false, метод jQuery text будет использоваться для вставки содержимого в DOM. Используйте текст, если вы беспокоитесь об атаках XSS.
placement string | function 'right'

Как разместить информер - сверху | снизу | слева | справа.

Когда функция используется для определения места размещения, она вызывается с первичным узлом DOM в качестве первого аргумента, а узел DOM триггера - своим вторым. Контекст this устанавливается на элемент информера.

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 информера будет вставлен в .popover-title.

content информера будет вставлен в .popover-content.

.popover-arrow станет стрелкой информера.

Внешний элемент обертки должен иметь класс .popover.

title string | element | function ''

Значение заголовка по умолчанию, если атрибут title отсутствует.

Если функция задана, она будет вызвана с this ссылкой на элемент, к которому присоединен информер.

trigger string 'click' Как запускается информер - при нажатии | при наведении | при фокусе | manual. Вы можете передавать несколько триггеров; разделите их пробелом. `Manual` не может комбинироваться с любым другим триггером.
constraints Array 'hover focus' Массив ограничений - передается в Tether. Для получения дополнительной информации обратитесь к документам органиченийTether.
offset string '0 0' Смещение информера относительно его цели. Для получения дополнительной информации обратитесь к offset документамTether.

Атрибуты данных для отдельных информеров

Варианты для отдельных информеров можно альтернативно определить с помощью использования атрибутов данных, как описано выше.

Методы

$().popover(options)

Инициализирует информеры для коллекции элементов.

.popover('show')

Показывает информер элемента. Возвращает к вызывающему до фактического отображения информера (т. е. до появления события shown.bs.popover). Это считается «ручным» запуском информера. Информеры, названия и содержание которых нулевой длины, никогда не отображаются.

$('#element').popover('show')

.popover('hide')

Скрывает информер элемента. Возвращает к вызывающему до фактического скрытия информера (т. е. до появления события hidden.bs.popover). Это считается «ручным» запуском информера.

$('#element').popover('hide')

.popover('toggle')

Переключает информер элемента.Возвращает к вызывающему до того, как информер был показан или скрыт (т.е. до появления события shown.bs.popover или hidden.bs.popover). Это считается «ручным» запуском информера.

$('#element').popover('toggle')

.popover('dispose')

Скрывает и уничтожает информер элемента. Информеры, использующие делегирование (которые создаются с использованием the selector option) не могут быть индивидуально уничтожены в элементах триггера спутника.

$('#element').popover('dispose')

События

Тип события Описание
show.bs.popover Это событие срабатывает сразу после вызова метода show.
shown.bs.popover Это событие вызывается, когда информер становится видимым для пользователя (будет ждать завершения переходов CSS).
hide.bs.popover TЭто событие вызывается немедленно при вызове метода hide.
hidden.bs.popover Это событие вызывается, когда информер закончил скрываться от пользователя (будет ждать завершения CSS-переходов).
$('#myPopover').on('hidden.bs.popover', function () {
  // do something…
})

Комментарии

На сайте функционирует система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.

Поддержать проект

x