- Popovers
- Обзор
- Пример: включить всплывающие окна везде
- Пример: использования опции container
- Примеры
- Четыре направления
- Отказаться при следующем нажатии
- Специальная разметка, необходимая для закрытия при следующем щелчке
- Отключенные элементы
- Применение
- Как заставить всплывающие окна работать для пользователей клавиатуры и вспомогательных технологий
- Параметры
- Атрибуты данных для отдельных всплывающих окон
- Методы
- Асинхронные методы и переходы
- show (показать)
- hide (скрыть)
- toggle (переключить)
- dispose
- enable (включить)
- disable (отключить)
- toggleEnabled
- update (обновить)
- getInstance
- События
- Компоненты
- Информеры
- Содержание
- Обзор
- Пример: включить информеры везде
- Пример: использование container опция
- Статические пирог
- Popover top
- Popover right
- Popover bottom
- Popover left
Popovers
Документация и примеры добавления всплывающих окон Bootstrap, подобных тем, которые есть в iOS, к любому элементу на вашем сайте.
Обзор
Что нужно знать при использовании плагина popover:
- Popovers полагаются на стороннюю библиотеку Popper.js для позиционирования. Вы должны включить popper.min.js перед bootstrap.js или использовать bootstrap.bundle.min.js /, bootstrap.bundle.js который содержит Popper.js, чтобы всплывающие окна работали!
- Для всплывающих окон в качестве зависимости требуется плагин всплывающей подсказки.
- Всплывающие окна включены по соображениям производительности, поэтому вы должны инициализировать их самостоятельно .
- При нулевой длине title и content значениях всплывающее окно никогда не отображается.
- Укажите container: ‘body’ , чтобы избежать проблем с отображением в более сложных компонентах (например, в наших группах ввода, группах кнопок и т.д.).
- Запуск всплывающих окон для скрытых элементов не работает.
- Всплывающие окна для элементов .disabled или disabled должны запускаться для элемента-оболочки.
- При запуске от якорей, которые переносятся по нескольким строкам, всплывающие окна будут центрированы между общей шириной якорей. Используйте .text-nowrap на своем , чтобы избежать такого поведения.
- Всплывающие окна должны быть скрыты до того, как соответствующие им элементы будут удалены из DOM.
- Всплывающие окна могут запускаться благодаря элементу внутри теневой DOM.
Продолжайте читать, чтобы увидеть, как работают всплывающие окна, на некоторых примерах.
Пример: включить всплывающие окна везде
Один из способов инициализировать все всплывающие окна на странице — выбрать их по их data-toggle атрибуту:
Пример: использования опции container
Если у вас есть стили родительского элемента, которые мешают отображению всплывающего окна, вам нужно указать пользовательский container вариант, чтобы HTML всплывающего окна отображался внутри этого элемента.
Примеры
Четыре направления
Доступны четыре варианта: по верхнему, правому, нижнему и левому краям.
Отказаться при следующем нажатии
Используйте триггер focus , чтобы закрыть всплывающие окна при следующем щелчке пользователем элемента, отличного от элемента переключения.
Специальная разметка, необходимая для закрытия при следующем щелчке
Для правильного кросс-браузер и поведение кросс-платформенной, вы должны использовать тег , не тегов, и вы также должны включать в себя tabindex атрибут.
Отключенные элементы
Элементы с атрибутом disabled не являются интерактивными, то есть пользователи не могут навести на них курсор или щелкнуть их, чтобы вызвать всплывающее окно (или всплывающую подсказку). В качестве обходного пути вы захотите запустить всплывающее окно из оболочки
Для отключенных триггеров всплывающего окна вы также можете предпочесть data-trigger=»hover» , чтобы всплывающее окно отображалось как немедленная визуальная обратная связь для ваших пользователей, поскольку они могут не ожидать нажатия на отключенный элемент.
Применение
Включить всплывающие окна через JavaScript:
Как заставить всплывающие окна работать для пользователей клавиатуры и вспомогательных технологий
Чтобы пользователи с клавиатурой могли активировать ваши всплывающие окна, вам следует добавлять их только к элементам HTML, которые традиционно ориентированы на клавиатуру и являются интерактивными (например, ссылки или элементы управления формы). Хотя произвольные элементы HTML (например, ) можно сделать доступными для фокусировки, добавив tabindex=»0″ атрибут, это добавит потенциально раздражающие и сбивающие с толку позиции табуляции в неинтерактивных элементах для пользователей клавиатуры, и большинство вспомогательных технологий в настоящее время не объявляют содержимое всплывающего окна в этой ситуации. . Кроме того, не полагайтесь исключительно на hover триггер для ваших всплывающих окон, так как это сделает их невозможным для пользователей клавиатуры.
Хотя вы можете вставлять богатый структурированный HTML-код в всплывающие окна с помощью этой html опции, мы настоятельно рекомендуем вам избегать добавления чрезмерного количества контента. В настоящее время всплывающие окна работают так, что после отображения их содержимое привязывается к элементу триггера с aria-describedby атрибутом. В результате весь контент всплывающего окна будет объявлен пользователям вспомогательных технологий как один длинный непрерывный поток.
Кроме того, хотя можно также включить интерактивные элементы управления (такие как элементы формы или ссылки) в ваше всплывающее окно (путем добавления этих элементов к allowList разрешенным атрибутам и тегам), имейте в виду, что в настоящее время всплывающее окно не управляет порядком фокуса клавиатуры. Когда пользователь клавиатуры открывает всплывающее окно, фокус остается на инициирующем элементе, и поскольку всплывающее окно обычно не следует сразу за триггером в структуре документа, нет гарантии, что движение вперед / нажатие TAB переместит пользователя клавиатуры в само всплывающее окно. Короче говоря, простое добавление интерактивных элементов управления во всплывающее окно может сделать эти элементы управления недоступными / непригодными для использования пользователями клавиатуры и пользователей вспомогательных технологий или, по крайней мере, сделать общий порядок фокусировки нелогичным. В этих случаях рассмотрите возможность использования модального диалогового окна.
Параметры
Параметры можно передавать через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя параметра data- , как в data-animation=»» .
Имя | Тип | По умолчанию | Описание |
---|---|---|---|
animation | логический | true | Применить переход CSS fade к всплывающему окну |
container | строка | элемент | ложный | false | |
content | строка | элемент | функция | » | |
html | логический | false | Вставьте HTML в всплывающее окно. Если false, innerText свойство будет использоваться для вставки содержимого в DOM. Используйте текст, если вас беспокоят XSS-атаки. |
placement | строка | функция | ‘right’ | |
selector | строка | ложный | false | Если предусмотрен селектор, объекты всплывающих окон будут делегированы указанным целям. На практике это используется для включения всплывающих окон динамического HTML-контента. См. этот и информативный пример. |
template | строка | ‘ Базовый HTML для использования при создании всплывающего окна. Всплывающие окна title будут вставлены в .popover-header . Всплывающие окна content будут вставлены в .popover-body . .popover-arrow станет стрелкой всплывающего окна. Самый внешний элемент-оболочка должен иметь .popover класс. | |
title | строка | элемент | функция | » | |
trigger | строка | ‘click’ | Как запускается всплывающее окно — нажмите | парить | фокус | руководство по эксплуатации. Вы можете передать несколько триггеров; разделите их пробелом. manual нельзя комбинировать с каким-либо другим триггером. |
offset | номер | строка | Смещение всплывающего окна относительно его цели. Дополнительные сведения см. В документации по смещению Popper.js . | |
fallbackPlacement | строка | массив | ‘flip’ | Разрешить указать, какую позицию Поппер будет использовать при откате. Дополнительные сведения см. В документации по поведению Popper.js. |
boundary | строка | элемент | ‘scrollParent’ | Граница ограничения переполнения всплывающего окна. Принимает значения ‘viewport’ , ‘window’ , ‘scrollParent’ или ссылка на HTMLElement (JavaScript только). Для получения дополнительной информации см. документацию PreventOverflow Popper.js. |
sanitize | логический | true | Включите или отключите дезинфекцию. Если активировано ‘template’ , ‘content’ и ‘title’ параметры будут очищены. |
allowList | объект | Значение по умолчанию | Объект, содержащий разрешенные атрибуты и теги |
sanitizeFn | null | функция | null | Здесь вы можете предоставить свою собственную функцию дезинфекции. Это может быть полезно, если вы предпочитаете использовать специальную библиотеку для выполнения очистки. |
popperConfig | null | объект | null | Чтобы изменить конфигурацию Popper.js по умолчанию для Bootstrap, см. конфигурацию Popper.js |
Атрибуты данных для отдельных всплывающих окон
В качестве альтернативы параметры для отдельных всплывающих окон можно указать с помощью атрибутов данных, как описано выше.
Методы
Асинхронные методы и переходы
Все методы API асинхронны и запускают переход. Они возвращаются к вызывающему, как только переход начнется, но до его завершения . Кроме того, вызов метода переходного компонента будет проигнорирован .
show (показать)
Показывает всплывающее окно элемента. Возврат к вызывающей стороне до фактического отображения всплывающего окна (т. Е. До того, как shown.bs.popover произойдет событие). Это считается «ручным» запуском всплывающего окна. Всплывающие окна, заголовок и содержимое которых имеют нулевую длину, никогда не отображаются.
hide (скрыть)
Скрывает всплывающее окно элемента. Возврат к вызывающей стороне до того, как всплывающее окно было фактически скрыто (то есть до того, как hidden.bs.popover событие произойдет). Это считается «ручным» запуском всплывающего окна.
toggle (переключить)
Переключает всплывающее окно элемента. Возврат к вызывающей стороне до того, как всплывающее окно будет фактически показано или скрыто (то есть до того, как произойдет событие shown.bs.popover или hidden.bs.popover ). Это считается «ручным» запуском всплывающего окна.
dispose
Скрывает и уничтожает всплывающее окно элемента. Всплывающие окна, использующие делегирование (которые создаются с использованием этой selector опции ), не могут быть уничтожены индивидуально для дочерних триггерных элементов.
enable (включить)
Дает возможность отображения всплывающего окна элемента. По умолчанию всплывающие окна включены.
disable (отключить)
Удаляет возможность отображения всплывающего окна элемента. Всплывающее окно будет отображаться, только если оно будет повторно включено.
toggleEnabled
Переключает возможность отображения или скрытия всплывающего окна элемента.
update (обновить)
Обновляет позицию всплывающего окна элемента.
getInstance
Статический метод, который позволяет вам получить экземпляр всплывающего окна, связанный с элементом DOM
События
Тип события | Описание |
---|---|
show.bs.popover | Это событие срабатывает сразу после show вызова метода экземпляра. |
показано.bs.popover | Это событие запускается, когда всплывающее окно становится видимым для пользователя (будет ожидать завершения переходов CSS). |
hide.bs.popover | Это событие запускается сразу после hide вызова метода экземпляра. |
hidden.bs.popover | Это событие запускается, когда всплывающее окно перестало быть скрытым от пользователя (будет ожидать завершения переходов CSS). |
вставлен.bs.popover | Это событие запускается после show.bs.popover события, когда шаблон всплывающего окна был добавлен в DOM. |
Разработан и построен с любовью к миру, командой Bootstrap и помощью наших участников.
В настоящее время v5.0.0-alpha1. Код под лицензией MIT, документы CC BY 3.0.
Источник
Компоненты
Более десятка повторно используемых компонентов построены так, чтобы обеспечить кнопки, выпадающие меню, группы ввода, навигации, оповещения, и многое другое.
Информеры
Добавить небольшим содержанием наложения, как в iOS, к любому элементу на жилье вторичной информации.
Содержание
Обзор
Что нужно знать при использовании плагина пирог:
- Информеры полагаться на 3-й партии библиотеки Tether для позиционирования. Необходимо включить tether.min.js до bootstrap.js чтобы информеры на работу!
- Информеры требуют подсказка плагин как зависимость.
- Информеры опт-по соображениям производительности, так вы должны инициализировать их самостоятельно.
- Нулевой длины title и content значениями не будет показывать диалоговое окно.
- Укажите container: ‘body’ чтобы избежать проблем с рендерингом в более сложные компоненты (типа наших группы ввода, групп кнопки и т. д.).
- Пусковым информеры на скрытые элементы не будут работать.
- Информеры для .disabled или disabled элементы должны быть вызваны на элемент оболочки.
- При срабатывании из гиперссылок, которые охватывают несколько строк, информеры центрируется. Используйте white-space: nowrap; на , чтобы избежать этого поведения.
Получил все это? Отлично, давайте посмотрим, как они работают с некоторыми примерами.
Пример: включить информеры везде
Одним из способов инициализации все информеры на странице будет выбрать их 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.
Источник