in English

Поповерҳо

Ҳуҷҷатҳо ва мисолҳо барои илова кардани 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-и сояҳо ба кор андохтан мумкин аст.
Бо нобаёнӣ, ин ҷузъ аз безараргардонии мундариҷаи дарунсохт истифода мебарад, ки ҳама унсурҳои HTML-ро, ки ба таври возеҳ иҷозат дода нашудаанд, хориҷ мекунад. Барои тафсилоти бештар ба бахши санитаризатсия дар ҳуҷҷатҳои JavaScript-и мо нигаред.
Таъсири аниматсияи ин ҷузъ аз 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 татбиқ кунед
контейнер сатр | элемент | дурӯғ дурӯғ

Поповро ба унсури мушаххас замима мекунад. Мисол: container: 'body'. Ин хосият махсусан аз он сабаб муфид аст, ки он ба шумо имкон медиҳад, ки попопверро дар ҷараёни ҳуҷҷат дар наздикии унсури триггер ҷойгир кунед - ин имкон намедиҳад, ки popover ҳангоми тағир додани андозаи тиреза аз элементи триггер шино кунад.

мазмун сатр | элемент | функсия ''

Арзиши мундариҷаи пешфарз, агар data-contentаттрибут мавҷуд набошад.

Агар функсия дода шавад, он бо thisмаҷмӯи истинод ба элементе, ки popover ба он замима шудааст, даъват карда мешавад.

таъхир рақам | объект 0

Таъхири нишон додан ва пинҳон кардани popover (ms) - ба намуди триггери дастӣ дахл надорад

Агар рақам дода шавад, таъхир барои ҳарду пинҳон/нишон дода мешавад

Сохтори объект ин аст:delay: { "show": 500, "hide": 100 }

html булӣ дурӯғ HTML-ро ба popover дохил кунед. Агар дурӯғ бошад, textусули jQuery барои ворид кардани мундариҷа ба DOM истифода мешавад. Агар шумо аз ҳамлаҳои XSS хавотир бошед, матнро истифода баред.
ҷойгиркунӣ сатр | функсия 'дуруст'

Чӣ тавр ҷойгир кардани popover - auto | боло | поён | чап | рост.
Вақте autoки муайян карда мешавад, он поповро ба таври динамикӣ тағир медиҳад.

Вақте ки функсия барои муайян кардани ҷойгиркунӣ истифода мешавад, он бо гиреҳи popover DOM ҳамчун аргументи аввал ва унсури триггери DOM гиреҳи дуюм номида мешавад. Контекст thisба мисоли popover гузошта шудааст.

интихобкунанда сатр | дурӯғ дурӯғ Агар интихобкунанда таъмин карда шавад, объектҳои попов ба ҳадафҳои муайяншуда дода мешаванд. Дар амал, ин барои имкон додани мундариҷаи динамикии HTML барои илова кардани поповҳо истифода мешавад. Ин ва мисоли иттилоотиро бубинед .
шаблон сатр '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'

Асоси HTML барои истифода ҳангоми сохтани popover.

Поповар ба titleсӯзандору ворид карда мешавад .popover-header.

Поповар ба contentсӯзандору ворид карда мешавад .popover-body.

.arrowтири поповар мегардад.

Унсури болоии печанда бояд .popoverсинф дошта бошад.

унвон сатр | элемент | функсия ''

Қимати унвони пешфарз, агар titleатрибут мавҷуд набошад.

Агар функсия дода шавад, он бо thisмаҷмӯи истинод ба элементе, ки popover ба он замима шудааст, даъват карда мешавад.

триггер сатр 'клик' Чӣ тавр popover фаъол карда мешавад - пахш кунед | овезон | таваҷҷӯҳ | дастур. Шумо метавонед якчанд триггерҳоро гузаронед; онҳоро бо фосила ҷудо кунед. manualбо ягон триггери дигар якчоя кардан мумкин нест.
офсет рақам | сатр 0 Ҷуброни поповор нисбат ба ҳадафаш. Барои маълумоти бештар ба ҳуҷҷатҳои офсетии Поппер муроҷиат кунед .
ҷойгиркунии бозгашт сатр | массив 'флип' Иҷозат диҳед, ки кадом мавқеъро Поппер ҳангоми бозгашт истифода хоҳад кард. Барои маълумоти бештар ба ҳуҷҷатҳои рафтори Поппер муроҷиат кунед
CustomClass сатр | функсия ''

Вақте ки он нишон дода мешавад, ба popover синфҳо илова кунед. Дар хотир доред, ки ин синфҳо ба ғайр аз ҳама синфҳои дар қолаб нишондодашуда илова карда мешаванд. Барои илова кардани якчанд синфҳо, онҳоро бо фосила ҷудо кунед: 'a b'.

Шумо инчунин метавонед функсияеро гузаронед, ки бояд як сатри ягонаи дорои номҳои синфҳои иловагиро баргардонад.

сарҳад сатр | элемент '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...
})