Source

Поповери

Документација и примери за додавање Bootstrap popovers, како оние што се наоѓаат во iOS, на кој било елемент на вашата страница.

Преглед

Работи што треба да ги знаете кога го користите приклучокот за поповер:

  • Поповерите се потпираат на библиотеката од трета страна Popper.js за позиционирање. Мора да вклучите popper.min.js пред bootstrap.js или да користите bootstrap.bundle.min.js/ bootstrap.bundle.jsшто содржи Popper.js за да може поповерите да функционираат!
  • Поповерите бараат додаток за совети за алатки како зависност.
  • Ако го градите нашиот JavaScript од извор, тоа бараutil.js .
  • Поповерите се избираат поради перформанси, па мора сами да ги иницијализирате .
  • Нулта должина titleи contentвредности никогаш нема да покажат поповер.
  • Наведете container: 'body'за да избегнете рендерирање проблеми во посложени компоненти (како што се нашите влезни групи, групи копчиња итн.).
  • Активирањето поповери на скриените елементи нема да работи.
  • Поповер за .disabledили disabledелементи мора да се активираат на елементот за обвивка.
  • Кога ќе се активираат од сидра што се обвиткуваат преку повеќе линии, поповерите ќе бидат центрирани помеѓу вкупната ширина на сидрата. Користете .text-nowrapго вашиот <a>s за да го избегнете ова однесување.
  • Поповерите мора да се сокријат пред нивните соодветни елементи да бидат отстранети од DOM.

Продолжете да читате за да видите како функционираат поповерите со некои примери.

Пример: овозможете popovers насекаде

Еден начин да се иницијализираат сите поповери на страницата би било да ги изберете според нивниот data-toggleатрибут:

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

Пример: Користење на containerопцијата

Кога имате некои стилови на родителски елемент што се мешаат со поповер, ќе сакате да наведете приспособување containerтака што HTML-от на поповерот да се појавува во тој елемент наместо тоа.

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

Пример

<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">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'
})

Оневозможени елементи

Елементите со disabledатрибут не се интерактивни, што значи дека корисниците не можат да лебдат или да кликнат на нив за да активираат поповер (или совет за алатка). Како заобиколување, ќе сакате да го активирате поповерот од обвивка <div>или <span>и да го отфрлите pointer-eventsоневозможениот елемент.

За оневозможени предизвикувачи на поповер, исто така може да претпочитате data-trigger="hover"поповерот да се појавува како непосредна визуелна повратна информација за вашите корисници бидејќи тие можеби не очекуваат да кликнат на оневозможен елемент.

<span class="d-inline-block" data-toggle="popover" data-content="Disabled popover">
  <button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>

Употреба

Овозможете popovers преку JavaScript:

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

Опции

Опциите може да се пренесат преку атрибути на податоци или JavaScript. За атрибути на податоци, додајте го името на опцијата на data-, како во data-animation="".

Име Тип Стандардно Опис
анимација булови вистина Примени CSS Fade транзиција на поповер
контејнер низа | елемент | лажни лажни

Го додава поповерот на одреден елемент. Пример: container: 'body'. Оваа опција е особено корисна со тоа што ви овозможува да го поставите поповерот во текот на документот во близина на елементот за активирање - што ќе го спречи скокачот да лебди подалеку од елементот за активирање при промена на големината на прозорецот.

содржина низа | елемент | функција ''

Стандардна вредност на содржината ако data-contentатрибутот не е присутен.

Ако е дадена функција, таа ќе се повика со нејзиното thisреферентно множество до елементот на кој е прикачен поповерот.

одложување број | објект 0

Одложено прикажување и сокривање на поповер (ms) - не важи за рачниот тип на активирач

Ако е доставен број, одложувањето се применува и на двете сокриј/прикажи

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

html булови лажни Вметнете HTML во поповерот. Ако е неточно, textметодот на jQuery ќе се користи за вметнување содржина во DOM. Користете текст ако сте загрижени за нападите на XSS.
поставување низа | функција 'право'

Како да се позиционира поповер - авто | врвот | дното | лево | право.
Кога autoе одредено, тој динамично ќе го преориентира поповерот.

Кога функцијата се користи за определување на поставеноста, таа се повикува со јазол DOM поповер како прв аргумент и активирачки елемент DOM јазол како негов втор. Контекстот thisе поставен на инстанцата поповер.

селектор низа | лажни лажни Ако е обезбеден селектор, објектите за поповер ќе бидат делегирани на наведените цели. Во пракса, ова се користи за да се овозможи динамична HTML содржина да има додадени поповери. Видете го ова и информативен пример .
шаблон низа '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'

Основен HTML што треба да се користи при креирање на поповер.

Поповерот titleќе се инјектира во .popover-header.

Поповерот contentќе се инјектира во .popover-body.

.arrowќе стане стрела на поповерот.

Најоддалечениот елемент за обвивка треба да ја има .popoverкласата.

Наслов низа | елемент | функција ''

Стандардна вредност на насловот ако titleатрибутот не е присутен.

Ако е дадена функција, таа ќе се повика со нејзиното thisреферентно множество до елементот на кој е прикачен поповерот.

чкрапало низа 'кликни' Како се активира поповер - кликнете | лебди | фокус | прирачник. Може да поминете повеќе предизвикувачи; одделете ги со празно место. manualне може да се комбинира со кој било друг активирач.
офсет број | низа 0 Поместување на поповер во однос на неговата цел. За повеќе информации погледнете ги офсет документите на Popper.js .
резервна поставеност низа | низа 'превртување' Дозволете да одредите која позиција ќе ја користи Попер при резервна копија. За повеќе информации погледнете ги документите за однесувањето на Popper.js
граница низа | елемент 'scrollParent' Границата на ограничување на прелевање на поповер. Ги прифаќа вредностите на 'viewport', 'window', 'scrollParent'или референца на HTMLElement (само JavaScript). За повеќе информации, погледнете ги документите за спречување на превртување на Popper.js .

Атрибути на податоци за поединечни поповери

Опциите за поединечни поповери може алтернативно да се специфицираат преку употреба на атрибути на податоци, како што е објаснето погоре.

Методи

Асинхрони методи и транзиции

Сите API методи се асинхрони и започнуваат транзиција . Тие се враќаат кај повикувачот штом ќе започне транзицијата, но пред да заврши . Дополнително, повик на метод на компонента во транзиција ќе се игнорира .

Погледнете ја нашата JavaScript документација за повеќе информации.

$().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')

Сокрива и уништува поповер на елементот. Поповерите што користат делегирање (кои се креирани со опцијата selector) не можат да се уништат поединечно на елементите за потомство.

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

.popover('enable')

Дава можност за прикажување на popover на елементот. Поповерите се стандардно овозможени.

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

.popover('disable')

Ја отстранува можноста за прикажување на popover на елементот. Поповерот ќе може да се прикаже само ако е повторно овозможен.

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

.popover('toggleEnabled')

Ја исклучува можноста за прикажување или сокривање на popover на елементот.

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

.popover('update')

Ја ажурира позицијата на поповер на елементот.

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

Настани

Тип на настан Опис
шоу.бс.поповер Овој настан се вклучува веднаш кога showќе се повика методот на пример.
прикажани.бс.поповер Овој настан се активира кога поповерот е видлив за корисникот (ќе чека да се завршат транзициите на CSS).
скриј.бс.поповер Овој настан се активира веднаш кога hideќе се повика методот на пример.
скриени.бс.поповер Овој настан се активира кога поповерот ќе заврши со криење од корисникот (ќе почека да се завршат транзициите на CSS).
вметната.бс.поповер Овој настан се активира по show.bs.popoverнастанот кога шаблонот за поповер е додаден во DOM.
$('#myPopover').on('hidden.bs.popover', function () {
  // do something…
})