Popovery
Dokumentacja i przykłady dodawania popoverów Bootstrap, takich jak te znalezione w iOS, do dowolnego elementu w witrynie.
Co należy wiedzieć podczas korzystania z wtyczki popover:
- Popovery opierają się na zewnętrznej bibliotece Popper.js do pozycjonowania. Aby popovery działały , musisz dołączyć popper.min.js przed bootstrap.js lub użyć
bootstrap.bundle.min.js
/bootstrap.bundle.js
który zawiera Popper.js! - Popovery wymagają wtyczki podpowiedzi jako zależności.
- Jeśli budujesz nasz JavaScript ze źródeł, wymaga
util.js
to . - Popovery są włączane ze względu na wydajność, więc musisz je zainicjować samodzielnie .
- Zerowa długość
title
icontent
wartości nigdy nie pokażą popovera. - Określ
container: 'body'
, aby uniknąć problemów z renderowaniem w bardziej złożonych komponentach (takich jak nasze grupy wejściowe, grupy przycisków itp.). - Wyzwalanie okienek popover na ukrytych elementach nie będzie działać.
- Wyskakujące okienka dla
.disabled
lubdisabled
elementy muszą być wyzwalane na elemencie opakowania. - Po uruchomieniu z kotwic, które zawijają się w wielu liniach, popovery będą wyśrodkowane między całkowitą szerokością kotwic. Użyj
white-space: nowrap;
na swoim<a>
s, aby uniknąć tego zachowania. - Popovery muszą być ukryte, zanim odpowiadające im elementy zostaną usunięte z DOM.
Czytaj dalej, aby zobaczyć, jak działają popovery na kilku przykładach.
Jednym ze sposobów na zainicjowanie wszystkich okienek popover na stronie byłoby wybranie ich według ich data-toggle
atrybutów:
Jeśli masz jakieś style w elemencie nadrzędnym, które kolidują z popoverem, będziesz chciał określić niestandardowy container
, aby zamiast tego pojawiał się kod HTML popovera w tym elemencie.
<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>
Dostępne są cztery opcje: wyrównanie do góry, do prawej, do dołu i do lewej.
Użyj focus
wyzwalacza, aby odrzucić okienka popover przy następnym kliknięciu przez użytkownika innego elementu niż element przełączania.
Konkretne znaczniki wymagane do odrzucenia przy następnym kliknięciu
Aby zapewnić prawidłowe działanie w różnych przeglądarkach i platformach, należy użyć <a>
tagu, a nie<button>
tagu, a także dołączyć tabindex
atrybut.
<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>
Elementy z disabled
atrybutem nie są interaktywne, co oznacza, że użytkownicy nie mogą na nich najeżdżać ani klikać, aby wywołać okienko wyskakujące (lub podpowiedź). Jako obejście, będziesz chciał wyzwolić popover z opakowania <div>
lub <span>
nadpisać pointer-events
na wyłączonym elemencie.
W przypadku wyłączonych wyzwalaczy okienek popover możesz również preferować data-trigger="hover"
wyświetlanie okienka popover jako natychmiastowej wizualnej informacji zwrotnej dla użytkowników, ponieważ mogą oni nie oczekiwać kliknięcia wyłączonego elementu.
<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>
Włącz popovery przez JavaScript:
Opcje można przekazywać za pomocą atrybutów danych lub JavaScript. W przypadku atrybutów danych dołącz nazwę opcji do data-
, jak w data-animation=""
.
Nazwa | Rodzaj | Domyślna | Opis |
---|---|---|---|
animacja | logiczne | PRAWDA | Zastosuj zanikające przejście CSS do popover |
pojemnik | ciąg | element | fałszywy | fałszywy | Dołącza popover do określonego elementu. Przykład: |
zawartość | ciąg | element | funkcjonować | '' | Domyślna wartość treści, jeśli Jeśli podana zostanie funkcja, zostanie wywołana z |
opóźnienie | numer | obiekt | 0 | Opóźnienie pokazywania i ukrywania popovera (ms) - nie dotyczy wyzwalania ręcznego Jeśli podano numer, opóźnienie jest stosowane zarówno do ukrywania, jak i pokazywania Struktura obiektu to: |
html | logiczne | fałszywy | Wstaw kod HTML do popovera. Jeśli false, metoda jQuery text zostanie użyta do wstawienia treści do DOM. Użyj tekstu, jeśli martwisz się atakami XSS. |
umieszczenie | ciąg | funkcjonować | 'prawo' | Jak ustawić popover - auto | góra | dół | lewo | prawo. Gdy funkcja jest używana do określenia położenia, jest wywoływana z węzłem DOM popover jako pierwszym argumentem i węzłem DOM elementu wyzwalającego jako drugim. Kontekst |
selektor | ciąg | fałszywy | fałszywy | Jeśli podano selektor, obiekty popover zostaną delegowane do określonych celów. W praktyce jest to używane, aby umożliwić dynamicznej zawartości HTML dodawanie okienek popover. Zobacz to i przykład informacyjny . |
szablon | strunowy | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Podstawowy kod HTML do użycia podczas tworzenia popovera. Popover Popover
Najbardziej zewnętrzny element opakowania powinien mieć |
tytuł | ciąg | element | funkcjonować | '' | Domyślna wartość tytułu, jeśli Jeśli podana zostanie funkcja, zostanie wywołana z |
cyngiel | strunowy | 'Kliknij' | Jak uruchamia się popover - kliknij | najedź | skupić | podręcznik. Możesz przekazać wiele wyzwalaczy; oddziel je spacją. „Ręcznie” nie można łączyć z żadnym innym wyzwalaczem. |
zrównoważyć | numer | strunowy | 0 | Przesunięcie popovera względem jego celu. Więcej informacji można znaleźć w dokumentacji offsetowej Popper.js . |
powrótMiejsce docelowe | ciąg | szyk | 'trzepnięcie' | Zezwalaj na określenie, której pozycji Popper użyje w przypadku powrotu. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą zachowania Popper.js |
granica | ciąg | element | 'przewiń Rodzic' | Granica ograniczenia przepełnienia popovera. Akceptuje wartości 'viewport' , 'window' , 'scrollParent' lub odwołania HTMLElement (tylko JavaScript). Aby uzyskać więcej informacji, zapoznaj się z dokumentacją PreventOverflow Popper.js . |
Atrybuty danych dla poszczególnych okienek popover
Opcje dla poszczególnych okienek popover można alternatywnie określić za pomocą atrybutów danych, jak wyjaśniono powyżej.
Metody asynchroniczne i przejścia
Wszystkie metody API są asynchroniczne i rozpoczynają przejście . Wracają do rozmówcy zaraz po rozpoczęciu przejścia, ale przed jego zakończeniem . Ponadto wywołanie metody na składniku przechodzącym zostanie zignorowane .
Zobacz naszą dokumentację JavaScript, aby uzyskać więcej informacji.
Inicjuje popovery dla kolekcji elementów.
Ujawnia popover elementu. Wraca do dzwoniącego przed faktycznym wyświetleniem popovera (tj. przed shown.bs.popover
wystąpieniem zdarzenia). Jest to uważane za „ręczne” wyzwalanie popover. Popovery, których zarówno tytuł, jak i treść mają zerową długość, nigdy nie są wyświetlane.
Ukrywa popover elementu. Powraca do dzwoniącego, zanim popover został faktycznie ukryty (tj. przed hidden.bs.popover
wystąpieniem zdarzenia). Jest to uważane za „ręczne” wyzwalanie popover.
Przełącza popover elementu. Powraca do dzwoniącego, zanim popover został faktycznie wyświetlony lub ukryty (tj. przed wystąpieniem zdarzenia shown.bs.popover
lub ). hidden.bs.popover
Jest to uważane za „ręczne” wyzwalanie popover.
Ukrywa i niszczy popover elementu. Popovery korzystające z delegowania (utworzone za pomocą opcji selector
) nie mogą być indywidualnie niszczone w potomnych elementach wyzwalających.
Daje możliwość pokazania popoverowi elementu. Popovery są domyślnie włączone.
Usuwa możliwość wyświetlania popovera elementu. Popover będzie można wyświetlić tylko wtedy, gdy zostanie ponownie włączony.
Przełącza możliwość pokazywania lub ukrywania popover elementu.
Aktualizuje pozycję popovera elementu.
Typ wydarzenia | Opis |
---|---|
pokaż.bs.popover | To zdarzenie jest wyzwalane natychmiast po show wywołaniu metody wystąpienia. |
pokazano.bs.popover | To zdarzenie jest uruchamiane, gdy popover jest widoczny dla użytkownika (poczeka na zakończenie przejścia CSS). |
ukryj.bs.popover | To zdarzenie jest wywoływane natychmiast po hide wywołaniu metody wystąpienia. |
ukryta.bs.popover | To zdarzenie jest uruchamiane po zakończeniu ukrywania popovera przed użytkownikiem (poczeka na zakończenie przejścia CSS). |
wstawiony.bs.popover | To zdarzenie jest wywoływane po show.bs.popover zdarzeniu, gdy szablon popover został dodany do DOM. |