Popovers
Dokumentai ir pavyzdžiai, kaip pridėti „Bootstrap“ iššokančių langų, tokių kaip „iOS“ sistemoje, prie bet kurio svetainės elemento.
Ką reikia žinoti naudojant popover papildinį:
- Popoveriai nustato vietą trečiosios šalies bibliotekoje Popper.js . Kad iššokantys langai veiktų, prieš bootstrap.js turite įtraukti popper.min.js arba naudoti
bootstrap.bundle.min.js
/bootstrap.bundle.js
kuriame yra Popper.js! - Iššokantiesiems reikalingas patarimo įskiepis kaip priklausomybė.
- Jei kuriate „JavaScript“ iš šaltinio, tam reikia
util.js
. - Iššokantys langai pasirenkami dėl našumo priežasčių, todėl turite juos inicijuoti patys .
- Nulinis ilgis
title
ircontent
reikšmės niekada nerodys iššokimo. - Nurodykite
container: 'body'
, kad išvengtumėte atvaizdavimo problemų sudėtingesniuose komponentuose (pvz., įvesties grupėse, mygtukų grupėse ir kt.). - Paslėptų elementų iššokančių langų suaktyvinimas neveiks.
- Elementų
.disabled
arbadisabled
elementų iššokimai turi būti suaktyvinti apvyniojimo elemente. - Suaktyvinus iš inkarų, apvyniojančių kelias linijas, iššokantys langai bus sutelkti tarp bendro inkarų pločio. Naudokite
white-space: nowrap;
ant savo<a>
, kad išvengtumėte tokio elgesio. - Iššokantys langai turi būti paslėpti prieš pašalinant atitinkamus elementus iš DOM.
Skaitykite toliau, kad pamatytumėte, kaip veikia iššokantys langai su kai kuriais pavyzdžiais.
Vienas iš būdų inicijuoti visus puslapio iššokančius langus būtų pasirinkti juos pagal data-toggle
atributą:
Kai pirminiame elemente yra tam tikrų stilių, kurie trukdo iššokimui, norėsite nurodyti tinkintą container
, kad iššokančiojo elemento HTML būtų rodomas tame elemente.
<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>
Galimos keturios parinktys: viršuje, dešinėje, apačioje ir kairėje.
Naudokite focus
aktyviklį, kad atsisakytumėte iššokančių langų, kai vartotojas kitą kartą spustelėja kitą elementą nei perjungimo elementas.
Norint atmesti spustelėjus kitą kartą, reikalingas konkretus žymėjimas
Norėdami tinkamai veikti įvairiose naršyklėse ir įvairiose platformose, turite naudoti <a>
žymą, o ne<button>
žymą, taip pat turite įtraukti tabindex
atributą.
<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>
Elementai su disabled
atributu nėra interaktyvūs, o tai reiškia, kad naudotojai negali jų užvesti arba spustelėti, kad suaktyvintų iššokantįjį langą (arba patarimą). Kaip išeitis, norėsite suaktyvinti iškylantįjį langą iš paketo <div>
arba <span>
nepaisyti pointer-events
išjungto elemento.
Išjungus iškylančiojo lango aktyviklius taip pat galite pageidauti data-trigger="hover"
, kad iššokantis langas būtų rodomas kaip tiesioginis vaizdinis grįžtamasis ryšys jūsų vartotojams, nes jie gali nesitikėti spustelėti išjungto elemento.
<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>
Įgalinti iššokančius langus naudojant „JavaScript“:
Parinktys gali būti perduodamos naudojant duomenų atributus arba JavaScript. Duomenų atributams pridėkite parinkties pavadinimą prie data-
, kaip ir data-animation=""
.
vardas | Tipas | Numatytas | apibūdinimas |
---|---|---|---|
animacija | loginis | tiesa | Iššokančiai langui pritaikykite CSS išnykimo perėjimą |
konteineris | styga | elementas | klaidinga | klaidinga | Prideda iššokantįjį langą prie konkretaus elemento. Pavyzdys |
turinys | styga | elementas | funkcija | '' | Numatytoji turinio vertė, jei Jei funkcija duota, ji bus iškviesta |
uždelsimas | numeris | objektas | 0 | Iššokančiojo lango rodymo ir slėpimo delsa (ms) – netaikoma rankinio paleidimo tipui Jei numeris pateikiamas, uždelsimas taikomas abiem slėptuvėms/rodyti Objekto struktūra yra tokia: |
html | loginis | klaidinga | Įdėkite HTML į iškylantįjį langą. Jei klaidinga, text turiniui įterpti į DOM bus naudojamas jQuery metodas. Jei nerimaujate dėl XSS atakų, naudokite tekstą. |
išdėstymas | styga | funkcija | 'teisingai' | Kaip nustatyti iššokantįjį langą - auto | viršuje | apačioje | paliko | teisingai. Kai funkcija naudojama vietai nustatyti, ji iškviečiama, kai pirmasis argumentas yra iššokantis DOM mazgas, o antrasis – aktyvuojantis elementas DOM mazgas. Kontekstas |
parinkiklis | styga | klaidinga | klaidinga | Jei yra parinkiklis, iššokantys objektai bus deleguojami nurodytiems tikslams. Praktiškai tai naudojama norint įgalinti dinaminį HTML turinį pridėti iššokančių langų. Žiūrėkite tai ir informatyvų pavyzdį . |
šabloną | styga | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Pagrindinis HTML, naudojamas kuriant iššokantįjį langą. Popover Popover
Tolimiausias apvyniojimo elementas turi turėti |
titulą | styga | elementas | funkcija | '' | Numatytoji pavadinimo reikšmė, jei Jei funkcija duota, ji bus iškviesta |
paleidiklis | styga | 'spustelėkite' | Kaip suaktyvinamas iššokantis langas – spustelėkite | užveskite | fokusuoti | vadovas. Galite perduoti kelis aktyviklius; atskirkite juos tarpu. „rankinis“ negali būti derinamas su jokiu kitu aktyvikliu. |
kompensuoti | numeris | styga | 0 | Iššokimo poslinkis, palyginti su jo tikslu. Daugiau informacijos rasite Popper.js poslinkio dokumentuose . |
atsarginė vieta | styga | masyvas | "apversti" | Leiskite nurodyti, kurią poziciją Popper naudos atšaukdamas. Daugiau informacijos rasite Popper.js elgesio dokumentuose |
riba | styga | elementas | 'scrollParent' | Iššokančiojo perpildymo apribojimo riba. Priima , , arba HTMLElement nuorodos reikšmes 'viewport' ( 'window' tik 'scrollParent' JavaScript). Daugiau informacijos rasite Popper.js preventOverflow dokumentuose . |
Atskirų iššokančių langų duomenų atributai
Atskirų iššokančių langų parinktys gali būti nurodytos naudojant duomenų atributus, kaip paaiškinta aukščiau.
Asinchroniniai metodai ir perėjimai
Visi API metodai yra asinchroniniai ir pradeda perėjimą . Jie grįžta pas skambinantįjį, kai tik prasideda perėjimas, bet jam nepasibaigus . Be to, pereinamojo komponento metodo iškvietimas bus ignoruojamas .
Inicijuoja elementų rinkinio iššokančius langus.
Atskleidžia elemento iššokimą. Grįžta į skambinantįjį, kol iššokantis pranešimas iš tikrųjų nebuvo parodytas (ty prieš shown.bs.popover
įvykį). Tai laikoma „rankiniu“ iššokimo paleidimu. Iššokantys langai, kurių pavadinimas ir turinys yra nulinio ilgio, niekada nerodomi.
Slepia elemento iššokimą. Grįžta į skambinantįjį, kol iššokantis langas iš tikrųjų buvo paslėptas (ty prieš hidden.bs.popover
įvykį). Tai laikoma „rankiniu“ iššokimo paleidimu.
Perjungia elemento iššokantįjį langą. Grįžta į skambinantįjį, kol iššokantis langas iš tikrųjų buvo parodytas arba paslėptas (ty prieš įvykstant shown.bs.popover
arba hidden.bs.popover
įvykiui). Tai laikoma „rankiniu“ iššokimo paleidimu.
Slepia ir sunaikina elemento iššokimą. Iššokančių langų, kuriuose naudojamas delegavimas (kurie sukuriami naudojant parinktį selector
) , negalima atskirai sunaikinti palikuonių aktyviklio elementuose.
Suteikia elemento popover galimybę būti rodomas. Iššokantys langai įjungti pagal numatytuosius nustatymus.
Pašalina galimybę rodyti elemento iššokantįjį langą. Iššokantis ekranas gali būti rodomas tik tada, kai jis bus įjungtas iš naujo.
Perjungia galimybę rodyti arba paslėpti elemento iššokantįjį langą.
Atnaujina elemento iššokančiojo lango padėtį.
Renginio tipas | apibūdinimas |
---|---|
rodyti.bs.popover | Šis įvykis suaktyvinamas iš karto, kai show iškviečiamas egzemplioriaus metodas. |
parodyta.bs.popover | Šis įvykis suaktyvinamas, kai iššokantis langas tampa matomas vartotojui (lauks, kol bus baigti CSS perėjimai). |
paslėpti.bs.popover | Šis įvykis suaktyvinamas iš karto, kai hide iškviečiamas egzemplioriaus metodas. |
paslėptas.bs.popover | Šis įvykis suaktyvinamas, kai iššokantis ekranas baigiamas paslėpti nuo vartotojo (lauks, kol bus baigti CSS perėjimai). |
įterpta.bs.popover | Šis įvykis suaktyvinamas po show.bs.popover įvykio, kai prie DOM pridedamas iššokantis šablonas. |