Поповерҳо
Ҳуҷҷатҳо ва мисолҳо барои илова кардани popovers Bootstrap, ба монанди онҳое, ки дар iOS мавҷуданд, ба ҳама гуна унсури сайти шумо.
Барраси
Чизҳоро ҳангоми истифодаи плагини popover донистан лозим аст:
- Поповҳо барои ҷойгиркунӣ ба китобхонаи сеюми Popper такя мекунанд. Шумо бояд пеш аз bootstrap.js popper.min.js-ро дохил кунед ё истифода баред
bootstrap.bundle.min.js
/bootstrap.bundle.js
ки Попперро дар бар мегирад, то поповҳо кор кунанд! - Popovers плагини асбобро ҳамчун вобастагӣ талаб мекунанд.
- Агар шумо JavaScript-и моро аз сарчашма сохта истода бошед, он
util.js
. - Поповҳо бо сабабҳои иҷроиш дохил мешаванд, аз ин рӯ шумо бояд онҳоро худатон оғоз кунед .
- Дарозии сифр
title
ваcontent
арзишҳо ҳеҷ гоҳ поповро нишон намедиҳанд. - Барои
container: 'body'
пешгирӣ кардани мушкилот дар ҷузъҳои мураккабтар муайян кунед (ба монанди гурӯҳҳои вуруди мо, гурӯҳҳои тугмаҳо ва ғайра). - Оғози поповҳо дар унсурҳои пинҳон кор намекунад.
- Поповарҳо барои
.disabled
ёdisabled
унсурҳо бояд дар элементи печанда фаъол карда шаванд. - Вақте ки аз лангарҳое, ки дар байни сатрҳои гуногун мепечанд, поповҳо дар байни паҳнои умумии лангарҳо марказонида мешаванд. Барои пешгирӣ кардани ин рафтори
.text-nowrap
худ истифода баред .<a>
- Поповҳо бояд пеш аз хориҷ кардани унсурҳои мувофиқи онҳо аз DOM пинҳон карда шаванд.
- Поповҳоро ба шарофати унсури дохили DOM-и сояҳо ба кор андохтан мумкин аст.
prefers-reduced-motion
дархости медиа вобаста аст. Ба
қисмати камшудаи ҳаракати ҳуҷҷатҳои дастрасии мо нигаред .
Хонданро давом диҳед, то бубинед, ки поповерҳо бо баъзе мисолҳо чӣ гуна кор мекунанд.
Мисол: Дар ҳама ҷо поповерҳоро фаъол созед
Як роҳи оғоз кардани ҳама поповҳо дар саҳифа ин интихоб кардани онҳо аз рӯи data-toggle
атрибути онҳост:
$(function () {
$('[data-toggle="popover"]').popover()
})
Мисол: Истифодаи container
опсия
Вақте ки шумо дар як унсури волидайн якчанд услубҳо доред, ки ба поповор халал мерасонанд, шумо мехоҳед одатеро муайян кунед, container
то HTML-и popover дар дохили он элемент пайдо шавад.
$(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="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Left popover">
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
аттрибутӣ интерактивӣ нестанд, яъне корбарон наметавонанд онҳоро ба ҷояшон гузоранд ё клик кунанд, то попover (ё маслиҳати абзор) ангезанд. Ҳамчун як роҳи ҳал, шумо мехоҳед, ки поповро аз парпеч ангезед <div>
ё <span>
ва pointer-events
элементи ғайрифаъолро бекор кунед.
Барои триггерҳои поповери ғайрифаъол, шумо инчунин метавонед бартарӣ data-trigger="hover"
диҳед, ки popover ҳамчун аксуламали фаврии визуалӣ барои корбарони шумо пайдо шавад, зеро онҳо интизор нашаванд, ки элементи ғайрифаъолро пахш кунанд.
<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>
Истифода
Поповҳоро тавассути JavaScript фаъол созед:
$('#example').popover(options)
суръатбахшии GPU
Поповҳо баъзан дар дастгоҳҳои Windows 10 аз сабаби суръатбахшии GPU ва системаи тағирёфтаи DPI норавшан ба назар мерасанд. Роҳи ҳалли ин дар v4 ин ғайрифаъол кардани суръатбахшии GPU дар ҳолати зарурӣ дар попверҳои шумост.
Ислоҳи тавсияшаванда:
Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !(window.devicePixelRatio < 1.5 && /Win/.test(navigator.platform))
Ворид кардани поповерҳо барои корбарони клавиатура ва технологияи ёрирасон
Барои он ки ба корбарони клавиатура иҷозат диҳанд, ки поповҳои шуморо фаъол созанд, шумо бояд онҳоро танҳо ба унсурҳои HTML илова кунед, ки одатан ба клавиатура нигаронидашуда ва интерактивӣ мебошанд (ба монанди истинодҳо ё назорати шакл). Гарчанде ки унсурҳои HTML-и худсарона (ба монанди <span>
s) тавассути илова кардани атрибут метавон мутамарказ карда шавад tabindex="0"
, ин барои корбарони клавиатура таваққуфҳои эҳтимолан хашмгин ва печидаро илова мекунад ва аксари технологияҳои ёрирасон дар айни замон мундариҷаи popover-ро дар ин ҳолат эълон намекунанд. . Илова бар ин, танҳо ба hover
триггер барои поповҳои худ такя накунед, зеро ин триггерро барои корбарони клавиатура ғайриимкон месозад.
Ҳангоме ки шумо метавонед HTML-и бой ва сохторшударо бо ин html
имконот ворид кунед, мо ба таври қатъӣ тавсия медиҳем, ки аз илова кардани миқдори зиёди мундариҷа худдорӣ кунед. Тарзи кори поповерҳо дар айни замон ин аст, ки пас аз намоиш додани мундариҷаи онҳо ба унсури триггер бо атрибут пайваст карда aria-describedby
мешавад. Дар натиҷа, тамоми мундариҷаи popover ба корбарони ёрирасони технология ҳамчун як ҷараёни тӯлонӣ ва бефосила эълон карда мешавад.
Илова бар ин, дар ҳоле ки имкон дорад, ки назорати интерактивиро (ба монанди унсурҳои форма ё истинодҳо) ба popover-и худ дохил кунед (бо илова кардани ин элементҳо ба whiteList
атрибутҳо ва барчаспҳои иҷозатдодашуда), бидонед, ки дар айни замон popover тартиби фокуси клавиатураро идора намекунад. Вақте ки корбари клавиатура поповоро мекушояд, тамаркуз ба унсури триггерӣ боқӣ мемонад ва чун поповер одатан триггерро дар сохтори ҳуҷҷат фавран пайгирӣ намекунад, ҳеҷ кафолате вуҷуд надорад, ки ба пеш ҳаракат кардан/ пахш карданTABкорбари клавиатураро ба худи popover интиқол медиҳад. Хулоса, танҳо илова кардани назорати интерактивӣ ба popover эҳтимол дорад, ки ин идораҳоро барои корбарони клавиатура ва корбарони технологияҳои ёрирасон дастнорас/корношоям гардонад ё ҳадди аққал як фармоиши фокусии умумиро бемантиқ созад. Дар ин мавридҳо, ба ҷои истифодаи муколамаи модалӣ баррасӣ кунед.
Имконот
Имконотро тавассути атрибутҳои додаҳо ё JavaScript интиқол додан мумкин аст. Барои атрибутҳои додаҳо, номи опсияро ба data-
монанди замима кунед data-animation=""
.
sanitize
,
sanitizeFn
ва
whiteList
наметавонанд бо истифода аз атрибутҳои додаҳо таъмин карда шаванд.
Ном | Навъи | Пешфарз | Тавсифи |
---|---|---|---|
аниматсия | булӣ | дуруст | Гузариши пажмурдашавии CSS-ро ба popover татбиқ кунед |
контейнер | сатр | элемент | дурӯғ | дурӯғ | Поповро ба унсури мушаххас замима мекунад. Мисол: |
мазмун | сатр | элемент | функсия | '' | Арзиши мундариҷаи пешфарз, агар Агар функсия дода шавад, он бо |
таъхир | рақам | объект | 0 | Таъхири нишон додан ва пинҳон кардани popover (ms) - ба намуди триггери дастӣ дахл надорад Агар рақам дода шавад, таъхир барои ҳарду пинҳон/нишон дода мешавад Сохтори объект ин аст: |
html | булӣ | дурӯғ | HTML-ро ба popover дохил кунед. Агар дурӯғ бошад, text усули jQuery барои ворид кардани мундариҷа ба DOM истифода мешавад. Агар шумо аз ҳамлаҳои XSS хавотир бошед, матнро истифода баред. |
ҷойгиркунӣ | сатр | функсия | 'дуруст' | Чӣ тавр ҷойгир кардани popover - auto | боло | поён | чап | рост. Вақте ки функсия барои муайян кардани ҷойгиркунӣ истифода мешавад, он бо гиреҳи popover DOM ҳамчун аргументи аввал ва унсури триггери DOM гиреҳи дуюм номида мешавад. Контекст |
интихобкунанда | сатр | дурӯғ | дурӯғ | Агар интихобкунанда таъмин карда шавад, объектҳои попов ба ҳадафҳои муайяншуда дода мешаванд. Дар амал, ин барои имкон додани мундариҷаи динамикии HTML барои илова кардани поповҳо истифода мешавад. Ин ва мисоли иттилоотиро бубинед . |
шаблон | сатр | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Асоси HTML барои истифода ҳангоми сохтани popover. Поповар ба Поповар ба
Унсури болоии печанда бояд |
унвон | сатр | элемент | функсия | '' | Қимати унвони пешфарз, агар Агар функсия дода шавад, он бо |
триггер | сатр | 'клик' | Чӣ тавр popover фаъол карда мешавад - пахш кунед | овезон | таваҷҷӯҳ | дастур. Шумо метавонед якчанд триггерҳоро гузаронед; онҳоро бо фосила ҷудо кунед. manual бо ягон триггери дигар якчоя кардан мумкин нест. |
офсет | рақам | сатр | 0 | Ҷуброни поповор нисбат ба ҳадафаш. Барои маълумоти бештар ба ҳуҷҷатҳои офсетии Поппер муроҷиат кунед . |
ҷойгиркунии бозгашт | сатр | массив | 'флип' | Иҷозат диҳед, ки кадом мавқеъро Поппер ҳангоми бозгашт истифода хоҳад кард. Барои маълумоти бештар ба ҳуҷҷатҳои рафтори Поппер муроҷиат кунед |
CustomClass | сатр | функсия | '' | Вақте ки он нишон дода мешавад, ба popover синфҳо илова кунед. Дар хотир доред, ки ин синфҳо ба ғайр аз ҳама синфҳои дар қолаб нишондодашуда илова карда мешаванд. Барои илова кардани якчанд синфҳо, онҳоро бо фосила ҷудо кунед: Шумо инчунин метавонед функсияеро гузаронед, ки бояд як сатри ягонаи дорои номҳои синфҳои иловагиро баргардонад. |
сарҳад | сатр | элемент | 'scrollParent' | Сарҳади маҳдудияти изофабори попов. Қиматҳои 'viewport' , 'window' , 'scrollParent' , ё истинодҳои HTMLElementро қабул мекунад (танҳо JavaScript). Барои маълумоти бештар ба ҳуҷҷатҳои preventOverflow Popper муроҷиат кунед . |
безарар кардан | булӣ | дуруст | Санитаризатсияро фаъол ё ғайрифаъол кунед. Агар фаъол карда 'template' шавад 'content' ва 'title' имконот безарар карда мешаванд. Бахши безараргардониро дар ҳуҷҷатҳои JavaScript- и мо бубинед . |
Рӯйхати сафед | объект | Арзиши пешфарз | Объект, ки дорои атрибутҳо ва барчаспҳои иҷозатдодашуда мебошад |
безараргардонӣФн | null | функсия | нул | Дар ин ҷо шумо метавонед функсияи тозакунии худро таъмин кунед. Ин метавонад муфид бошад, агар шумо мехоҳед китобхонаи махсусро барои анҷом додани санитаризатсия истифода баред. |
popperConfig | null | объект | нул | Барои тағир додани конфигуратсияи пешфарзии Popper Bootstrap, ба конфигуратсияи Popper нигаред |
Атрибутҳои маълумот барои поповҳои инфиродӣ
Вариантҳо барои поповҳои инфиродӣ метавонанд ба таври алтернативӣ тавассути истифодаи атрибутҳои додаҳо, тавре ки дар боло шарҳ дода шуд, муайян карда шаванд.
Усулҳо
Усулҳо ва гузаришҳои асинхронӣ
Ҳама усулҳои API асинхронӣ мебошанд ва гузаришро оғоз мекунанд. Онҳо баробари оғоз шудани гузариш ба зангзананда бармегарданд, аммо пеш аз анҷоми он . Илова бар ин, даъвати методӣ ба ҷузъи гузариш нодида гирифта мешавад.
Барои маълумоти бештар ба ҳуҷҷатҳои JavaScript-и мо нигаред .
$().popover(options)
Поповҳоро барои коллексияи элементҳо оғоз мекунад.
.popover('show')
Поповои элементро ошкор мекунад. Ба зангзананда пеш аз намоиши поповер бармегардад (яъне пеш аз shown.bs.popover
рух додани ҳодиса). Ин як ангезаи "дастӣ" ҳисобида мешавад. Поповарҳое, ки унвон ва мундариҷаи онҳо ҳарду дарозии сифр мебошанд, ҳеҷ гоҳ намоиш дода намешаванд.
$('#element').popover('show')
.popover('hide')
Попповери элементро пинҳон мекунад. Ба зангзананда пеш аз пинҳон шудани поповер бармегардад (яъне пеш аз hidden.bs.popover
рух додани ҳодиса). Ин як ангезаи "дастӣ" ҳисобида мешавад.
$('#element').popover('hide')
.popover('toggle')
Поп-повери элементро иваз мекунад. Ба зангзананда пеш аз он ки popover воқеан нишон дода шавад ё пинҳон шавад (яъне пеш аз рух додани ҳодиса shown.bs.popover
ё ҳодиса) бармегардад. hidden.bs.popover
Ин як ангезаи "дастӣ" ҳисобида мешавад.
$('#element').popover('toggle')
.popover('dispose')
Поповери элементро пинҳон ва нобуд мекунад. Поповҳое, ки намояндагиро истифода мебаранд (ки бо истифода аз selector
опсия сохта шудаанд ) наметавонанд дар унсурҳои триггери насли алоҳида нобуд карда шаванд.
$('#element').popover('dispose')
.popover('enable')
Ба поповери элемент имкон медиҳад, ки нишон дода шавад. Поповҳо бо нобаёнӣ фаъол карда мешаванд.
$('#element').popover('enable')
.popover('disable')
Қобилияти нишон додани поповери элементро нест мекунад. Попов танҳо дар сурати аз нав фаъол кардани он нишон дода мешавад.
$('#element').popover('disable')
.popover('toggleEnabled')
Қобилияти нишон додан ё пинҳон кардани поп-повери элементро иваз мекунад.
$('#element').popover('toggleEnabled')
.popover('update')
Мавқеи поповери элементро навсозӣ мекунад.
$('#element').popover('update')
Ҳодисаҳо
Навъи ҳодиса | Тавсифи |
---|---|
show.bs.popover | Ин ҳодиса фавран ҳангоми show даъват кардани усули мисол сар мешавад. |
нишон дода шудааст.bs.popover | Ин ҳодиса вақте оғоз мешавад, ки попов ба корбар намоён карда шудааст (то ба анҷом расидани гузаришҳои CSS интизор мешавад). |
hide.bs.popover | Ин ҳодиса фавран ҳангоми hide даъват кардани усули инстансия оғоз мешавад. |
hidden.bs.popover | Ин ҳодиса пас аз анҷоми пинҳон кардани попов аз корбар оғоз мешавад (то ба анҷом расидани гузаришҳои CSS интизор мешавад). |
inserted.bs.popover | Ин ҳодиса пас аз show.bs.popover ҳодиса, вақте ки қолаби popover ба DOM илова карда шудааст, оғоз мешавад. |
$('#myPopover').on('hidden.bs.popover', function () {
// do something...
})