Asosiy tarkibga o'tish Hujjatlar navigatsiyasiga oʻtish
in English

Maslahat

Animatsiyalar uchun CSS3 va mahalliy sarlavhalarni saqlash uchun ma'lumotlar-bs-atributlaridan foydalangan holda CSS va JavaScript bilan maxsus Bootstrap maslahatlarini qo'shish uchun hujjatlar va misollar.

Umumiy koʻrinish

Maslahat plaginidan foydalanganda bilishingiz kerak bo'lgan narsalar:

  • Maslahatlar joylashishni aniqlash uchun uchinchi tomon kutubxonasi Popperga tayanadi . Maslahatlar ishlashi uchun bootstrap.js dan oldin popper.min.js ni qo'shishingiz yoki Popperni o'z ichiga olgan bootstrap.bundle.min.js/ dan foydalanishingiz kerak !bootstrap.bundle.js
  • Maslahatlar unumdorlik sabablariga ko'ra qo'shiladi, shuning uchun ularni o'zingiz ishga tushirishingiz kerak .
  • Nol uzunlikdagi sarlavhali maslahatlar hech qachon ko'rsatilmaydi.
  • container: 'body'Murakkabroq komponentlarda (masalan, kirish guruhlarimiz, tugma guruhlarimiz va h.k.) muammolarni keltirib chiqarmaslik uchun belgilang .
  • Yashirin elementlarda maslahatlarni ishga tushirish ishlamaydi.
  • .disabledYoki elementlar uchun maslahatlar oʻram disabledelementida ishga tushirilishi kerak.
  • Bir nechta satrlarni qamrab oluvchi giperhavolalardan ishga tushirilganda, maslahatlar markazlashtiriladi. Ushbu xatti-harakatdan qochish white-space: nowrap;uchun s-da foydalaning.<a>
  • Tegishli elementlar DOMdan olib tashlanishidan oldin maslahatlar yashirilishi kerak.
  • Ko'rsatmalar soya DOM ichidagi element tufayli ishga tushirilishi mumkin.
Odatiy bo'lib, ushbu komponent o'rnatilgan kontentni tozalash vositasidan foydalanadi, bu aniq ruxsat etilmagan HTML elementlarini olib tashlaydi. Batafsil ma'lumot olish uchun JavaScript hujjatlaridagi dezinfektsiyalash bo'limiga qarang .
Ushbu komponentning animatsiya effekti prefers-reduced-motionmedia so'roviga bog'liq. Maxsus imkoniyatlar hujjatlarimizning qisqartirilgan harakat bo'limiga qarang .

Hammasi bormi? Ajoyib, keling, ularning qanday ishlashini ba'zi misollar bilan ko'rib chiqaylik.

Misol: Maslahatlarni hamma joyda yoqing

Sahifadagi barcha maslahatlarni ishga tushirishning bir usuli ularni data-bs-toggleatributiga ko'ra tanlashdir:

var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
  return new bootstrap.Tooltip(tooltipTriggerEl)
})

Misollar

Maslahatlarni ko'rish uchun kursorni quyidagi havolalar ustiga olib boring:

Maslahatlar bilan ba'zi ichki havolalarni ko'rsatish uchun to'ldiruvchi matn . Bu endi faqat to'ldiruvchi, qotil emas. Bu yerda faqat haqiqiy matn mavjudligini taqlid qilish uchun joylashtirilgan kontent . Va bularning barchasi sizga haqiqiy vaziyatlarda foydalanilganda maslahatlar qanday ko'rinishi haqida fikr berish uchun. Umid qilamanki, siz o'zingizning saytingizda yoki loyihangizda foydalansangiz, havolalardagi ushbu maslahatlar amalda qanday ishlashini ko'rgansiz .

To'rtta maslahat yo'nalishini ko'rish uchun quyidagi tugmalar ustiga kursorni bosing: yuqori, o'ng, pastki va chap. RTL-da Bootstrap-dan foydalanganda ko'rsatmalar aks ettiriladi.

<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
  Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
  Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
  Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
  Tooltip on left
</button>

Va maxsus HTML qo'shilgan:

<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
  Tooltip with HTML
</button>

SVG bilan:

Sass

O'zgaruvchilar

$tooltip-font-size:                 $font-size-sm;
$tooltip-max-width:                 200px;
$tooltip-color:                     $white;
$tooltip-bg:                        $black;
$tooltip-border-radius:             $border-radius;
$tooltip-opacity:                   .9;
$tooltip-padding-y:                 $spacer * .25;
$tooltip-padding-x:                 $spacer * .5;
$tooltip-margin:                    0;

$tooltip-arrow-width:               .8rem;
$tooltip-arrow-height:              .4rem;
$tooltip-arrow-color:               $tooltip-bg;

Foydalanish

Ko'rsatma plagini so'rov bo'yicha tarkib va ​​belgilarni yaratadi va sukut bo'yicha maslahatlarni ishga tushirish elementidan keyin joylashtiradi.

JavaScript orqali asboblar maslahatini ishga tushiring:

var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Toshib ketish autovascroll

Ko'rsatma joylashuvi ota-konteynerda bo'lsa overflow: autoyoki overflow: scrollbiznikiga o'xshasa, avtomatik ravishda o'zgartirishga harakat qiladi .table-responsive, lekin asl joylashuv joylashuvini saqlab qoladi. Buni hal qilish uchun standart qiymatni bekor qilish uchun boundaryopsiyani (opsiyadan foydalangan holda flip modifikatori uchun popperConfig) istalgan HTMLElementga o‘rnating 'clippingParents', masalan document.body:

var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
  boundary: document.body // or document.querySelector('#boundary')
})

Belgilash

Maslahat uchun kerakli belgi faqat dataatribut titlebo'lib, HTML elementida siz maslahatchi bo'lishni xohlaysiz. Ko'rsatmaning yaratilgan belgilari juda oddiy, lekin u joyni talab qilsa (odatda, topplagin tomonidan o'rnatiladi).

Klaviatura va yordamchi texnologiyalar foydalanuvchilari uchun maslahatlar ishlashi

Siz faqat an'anaviy ravishda klaviaturaga qaratiladigan va interaktiv bo'lgan HTML elementlariga maslahatlar qo'shishingiz kerak (masalan, havolalar yoki shakl boshqaruvlari). Garchi ixtiyoriy HTML elementlarini (masalan, <span>s) atributni qoʻshish orqali diqqatni jamlash mumkin boʻlsa -da tabindex="0", bu klaviatura foydalanuvchilari uchun interaktiv boʻlmagan elementlarga potentsial bezovta qiluvchi va chalkash tab toʻxtash joylarini qoʻshadi va hozirda koʻpchilik yordamchi texnologiyalar bu vaziyatda asboblar maslahatini eʼlon qilmaydi. Bunga qo'shimcha ravishda, maslahat uchun faqat hovertrigger sifatida ishonmang, chunki bu sizning maslahatlaringizni klaviatura foydalanuvchilari uchun ishga tushirishni imkonsiz qiladi.

<!-- HTML to write -->
<a href="#" data-bs-toggle="tooltip" title="Some tooltip text!">Hover over me</a>

<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
  <div class="tooltip-arrow"></div>
  <div class="tooltip-inner">
    Some tooltip text!
  </div>
</div>

O'chirilgan elementlar

Atributga ega boʻlgan elementlar disabledinteraktiv emas, yaʼni foydalanuvchilar koʻrsatmani (yoki qalqib chiquvchi) ishga tushirish uchun ularga diqqatini qarata olmaydi, kursorni koʻtara olmaydi yoki bosmaydi. Vaqtinchalik yechim sifatida siz oʻram <div>yoki <span>klaviaturadan foydalanib, klaviaturaga eʼtibor qaratilishi mumkin boʻlgan vosita maslahatini ishga tushirishni xohlaysiz tabindex="0".

<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="Disabled tooltip">
  <button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>

Variantlar

Variantlar ma'lumotlar atributlari yoki JavaScript orqali uzatilishi mumkin. Maʼlumotlar atributlari uchun opsiya nomini quyidagi data-bs-kabi qoʻshing data-bs-animation="". Variantlarni maʼlumotlar atributlari orqali oʻtkazishda optsion nomining registr turini camelCase’dan kabob-case’ga oʻzgartirishni unutmang. Misol uchun, dan foydalanish o'rniga data-bs-customClass="beautifier", foydalaning data-bs-custom-class="beautifier".

Esda tutingki, xavfsizlik nuqtai nazaridan sanitize, sanitizeFnva allowListopsiyalari maʼlumotlar atributlari yordamida taʼminlanishi mumkin emas.
Ism Turi Standart Tavsif
animation mantiqiy true Asboblar maslahatiga CSS o'tishini qo'llang
container string | element | yolg'on false

Maslahatni ma'lum bir elementga qo'shadi. Misol: container: 'body'. Ushbu parametr, ayniqsa, foydalidir, chunki u sizga asboblar panelini hujjat oqimida ishga tushirish elementi yaqinida joylashtirish imkonini beradi - bu oyna o'lchamini o'zgartirish paytida asboblar paneli tetiklash elementidan uzoqlashishini oldini oladi.

delay raqam | ob'ekt 0

Maslahatni ko'rsatish va yashirishni kechiktirish (ms) - qo'lda ishga tushirish turiga taalluqli emas

Agar raqam berilgan bo'lsa, kechikish ikkala yashirish/ko'rsatish uchun ham qo'llaniladi

Ob'ekt tuzilishi:delay: { "show": 500, "hide": 100 }

html mantiqiy false

Asboblar panelida HTMLga ruxsat bering.

Agar rost bo'lsa, asboblar maslahatidagi HTML teglari asboblar titlepanelida ko'rsatiladi. Agar noto'g'ri bo'lsa, innerTextxususiyat DOMga kontent kiritish uchun ishlatiladi.

XSS hujumlaridan xavotirda bo'lsangiz, matndan foydalaning.

placement string | funktsiyasi 'top'

Maslahatni qanday joylashtirish mumkin - avtomatik | yuqori | pastki | chap | to'g'ri.
Belgilanganida auto, u asboblar maslahatini dinamik ravishda o'zgartiradi.

Joylashuvni aniqlash uchun funktsiyadan foydalanilganda, u birinchi argument sifatida asboblar maslahati DOM tuguni va ikkinchi argument sifatida DOM tugunini ishga tushirish elementi bilan chaqiriladi. thisKontekst asboblar maslahati misoliga o'rnatiladi .

selector string | yolg'on false Agar selektor taqdim etilsa, asboblar paneli ob'ektlari belgilangan maqsadlarga topshiriladi. Amalda, bu dinamik ravishda qo'shilgan DOM elementlariga ( jQuery.onqo'llab-quvvatlash) maslahatlarni qo'llash uchun ham ishlatiladi. Buni va ma'lumot beruvchi misolni ko'ring .
template ip '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'

Maslahat yaratishda foydalanish uchun asosiy HTML.

Maslahatlar ga titlekiritiladi .tooltip-inner.

.tooltip-arrowasboblar maslahatining o'qiga aylanadi.

Eng tashqi o'rash elementi va .tooltipsinfiga ega bo'lishi kerak role="tooltip".

title string | element | funktsiyasi ''

Atribut mavjud bo'lmasa, birlamchi sarlavha qiymati title.

Agar funktsiya berilgan bo'lsa, u thisasboblar paneli biriktirilgan elementga mos yozuvlar to'plami bilan chaqiriladi.

trigger ip 'hover focus'

Maslahatchi qanday ishga tushiriladi - | tugmasini bosing hover | diqqat | qo'llanma. Siz bir nechta triggerlardan o'tishingiz mumkin; ularni bo'sh joy bilan ajrating.

'manual'.show()asboblar maslahati , .hide()va .toggle()usullari orqali dasturiy ravishda ishga tushirilishini bildiradi ; bu qiymatni boshqa trigger bilan birlashtirib bo'lmaydi.

'hover'o'z-o'zidan klaviatura orqali ishga tushirilmaydigan ko'rsatmalarga olib keladi va faqat klaviatura foydalanuvchilari uchun bir xil ma'lumotlarni uzatishning muqobil usullari mavjud bo'lganda foydalanish kerak.

fallbackPlacements massiv ['top', 'right', 'bottom', 'left'] Massivdagi joylashtirishlar roʻyxatini taqdim etish orqali zaxira joylashtirishlarni aniqlang (afzallik tartibida). Qo'shimcha ma'lumot olish uchun Popperning xatti-harakatlari hujjatlariga qarang
boundary string | element 'clippingParents' Asboblar maslahatining toshib ketishni cheklash chegarasi (faqat Popperning preventOverflow modifikatoriga tegishli). Odatiy bo'lib, u 'clippingParents'HTMLElement havolasini qabul qilishi mumkin (faqat JavaScript orqali). Qo'shimcha ma'lumot olish uchun Popperning detectOverflow hujjatlariga qarang .
customClass string | funktsiyasi ''

Ko'rsatilganda, asboblar maslahatiga sinflarni qo'shing. E'tibor bering, bu sinflar shablonda ko'rsatilgan har qanday sinflarga qo'shimcha ravishda qo'shiladi. Bir nechta sinflarni qo'shish uchun ularni bo'sh joylar bilan ajrating: 'class-1 class-2'.

Bundan tashqari, qo'shimcha sinf nomlarini o'z ichiga olgan bitta satrni qaytarishi kerak bo'lgan funktsiyani o'tkazishingiz mumkin.

sanitize mantiqiy true Sanitizatsiyani yoqing yoki o'chiring. Agar faollashtirilsa 'template'va 'title'opsiyalar tozalanadi. JavaScript hujjatlarimizdagi dezinfektsiyalash bo'limiga qarang .
allowList ob'ekt Standart qiymat Ruxsat berilgan atributlar va teglarni o'z ichiga olgan ob'ekt
sanitizeFn null | funktsiyasi null Bu erda siz o'zingizning dezinfektsiyalash funksiyangizni taqdim etishingiz mumkin. Sanitizatsiyani amalga oshirish uchun maxsus kutubxonadan foydalanishni afzal ko'rsangiz, bu foydali bo'lishi mumkin.
offset massiv | string | funktsiyasi [0, 0]

Asboblar maslahatining maqsadiga nisbatan ofseti. Siz qatorni vergul bilan ajratilgan ma'lumotlar atributlariga o'tkazishingiz mumkin, masalan:data-bs-offset="10,20"

Ofsetni aniqlash uchun funktsiyadan foydalanilganda, u birinchi argument sifatida popper joylashuvi, havola va popper rectsni o'z ichiga olgan ob'ekt bilan chaqiriladi. DOM tugunining ishga tushiruvchi elementi ikkinchi argument sifatida uzatiladi. Funktsiya ikkita raqamdan iborat massivni qaytarishi kerak: .[skidding, distance]

Qo'shimcha ma'lumot olish uchun Popperning ofset hujjatlariga qarang .

popperConfig null | ob'ekt | funktsiyasi null

Bootstrap-ning standart Popper konfiguratsiyasini o'zgartirish uchun Popper konfiguratsiyasiga qarang .

Popper konfiguratsiyasini yaratish uchun funktsiyadan foydalanilganda, u Bootstrap standart Popper konfiguratsiyasini o'z ichiga olgan ob'ekt bilan chaqiriladi. Bu standartni o'zingizning konfiguratsiyangiz bilan ishlatish va birlashtirishga yordam beradi. Funktsiya Popper uchun konfiguratsiya ob'ektini qaytarishi kerak.

Shaxsiy maslahatlar uchun ma'lumotlar atributlari

Yuqorida aytib o'tilganidek, individual maslahatlar uchun variantlar ma'lumotlar atributlaridan foydalanish orqali belgilanishi mumkin.

Funktsiyadan foydalanishpopperConfig

var tooltip = new bootstrap.Tooltip(element, {
  popperConfig: function (defaultBsPopperConfig) {
    // var newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

Usullari

Asinxron usullar va o'tishlar

Barcha API usullari asenkron va o'tishni boshlaydi . O'tish boshlanishi bilanoq, lekin tugashidan oldin ular qo'ng'iroq qiluvchiga qaytadilar . Bundan tashqari, o'tish komponentidagi usul chaqiruvi e'tiborga olinmaydi .

Qo'shimcha ma'lumot olish uchun bizning JavaScript hujjatlariga qarang .

ko'rsatish

Elementning asboblar maslahatini ko'rsatadi. Maslahat ko'rsatilishidan oldin (ya'ni voqea sodir bo'lishidan oldin) qo'ng'iroq qiluvchiga qaytadi . shown.bs.tooltipBu asboblar maslahatining "qo'lda" ishga tushirilishi hisoblanadi. Nol uzunlikdagi sarlavhali maslahatlar hech qachon ko'rsatilmaydi.

tooltip.show()

yashirish

Elementning asboblar maslahatini yashiradi. Maslahat haqiqatda yashirilgunga qadar (ya'ni hidden.bs.tooltipvoqea sodir bo'lishidan oldin) qo'ng'iroq qiluvchiga qaytadi. Bu asboblar maslahatining "qo'lda" ishga tushirilishi hisoblanadi.

tooltip.hide()

almashtirish

Elementning asboblar maslahatini almashtiradi. Maslahat ko'rsatilishidan yoki yashirilishidan oldin (ya'ni yoki hodisa sodir bo'lishidan oldin) qo'ng'iroq qiluvchiga qaytadi . Bu asboblar maslahatining "qo'lda" ishga tushirilishi hisoblanadi.shown.bs.tooltiphidden.bs.tooltip

tooltip.toggle()

tasarruf qilish

Elementning asboblar maslahatini yashiradi va yo'q qiladi (DOM elementida saqlangan ma'lumotlarni o'chiradi). Delegatsiyadan foydalanadigan maslahatlarni ( opsiya yordamida yaratilgan )selector nasl trigger elementlarida alohida yo‘q qilib bo‘lmaydi.

tooltip.dispose()

yoqish

Elementning asboblar maslahatiga ko'rsatish imkoniyatini beradi. Maslahatlar sukut bo'yicha yoqilgan.

tooltip.enable()

o'chirish

Elementning asboblar maslahatini ko'rsatish imkoniyatini olib tashlaydi. Maslahat faqat qayta yoqilgan bo'lsa, ko'rsatilishi mumkin bo'ladi.

tooltip.disable()

toggleEnabled

Elementning asboblar maslahatini ko'rsatish yoki yashirish imkoniyatini o'zgartiradi.

tooltip.toggleEnabled()

yangilash

Elementning asboblar maslahati o'rnini yangilaydi.

tooltip.update()

getInstance

DOM elementi bilan bog'liq bo'lgan maslahat namunasini olish imkonini beruvchi statik usul

var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance

getOrCreateInstance

DOM elementi bilan bog'langan maslahat namunasini olish yoki agar u ishga tushirilmagan bo'lsa, yangisini yaratish imkonini beruvchi statik usul

var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance

Voqealar

Tadbir turi Tavsif
show.bs.tooltip Ushbu hodisa showmisol usuli chaqirilganda darhol ishga tushadi.
shown.bs.tooltip Ushbu hodisa asboblar maslahati foydalanuvchiga ko'rinadigan holga keltirilgach, ishga tushiriladi (CSS o'tishlari tugashini kutadi).
hide.bs.tooltip Ushbu hodisa hidemisol usuli chaqirilganda darhol o'chiriladi.
hidden.bs.tooltip Ushbu voqea asboblar maslahati foydalanuvchidan yashirishni tugatgandan so'ng ishga tushiriladi (CSS o'tishlari tugashini kutadi).
inserted.bs.tooltip Ushbu hodisa voqeadan so'ng show.bs.tooltipDOMga asboblar maslahati shablonini qo'shgandan so'ng o'chiriladi.
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)

myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
  // do something...
})

tooltip.hide()