Tooltips
Dokuméntasi sareng conto pikeun nambihan tooltip Bootstrap khusus sareng CSS sareng JavaScript nganggo CSS3 pikeun animasi sareng data-bs-atribut pikeun neundeun judul lokal.
Ihtisar
Hal-hal anu kedah terang nalika nganggo plugin tooltip:
- Tooltips ngandelkeun perpustakaan pihak ka-3 Popper pikeun positioning. Anjeun kedah ngalebetkeun popper.min.js sateuacan bootstrap.js atanapi nganggo
bootstrap.bundle.min.js
/bootstrap.bundle.js
anu ngandung Popper supados tooltip tiasa dianggo! - Tooltips dipilih pikeun alesan kinerja, jadi Anjeun kudu initialize aranjeunna sorangan .
- Tooltips kalawan judul nol-panjangna pernah ditémbongkeun.
- Sebutkeun
container: 'body'
pikeun nyegah masalah rendering dina komponén anu langkung kompleks (sapertos grup input kami, grup tombol, jsb). - Triggering tooltips on elemen disumputkeun moal jalan.
- Tooltips pikeun
.disabled
atawadisabled
elemen kudu dipicu dina unsur wrapper. - Lamun dipicu tina hyperlinks nu bentang sababaraha garis, tooltips bakal dipuseurkeun. Paké
white-space: nowrap;
on<a>
s anjeun ulah kabiasaan ieu. - Tooltips kudu disumputkeun saméméh elemen pakait maranéhanana geus dihapus tina DOM.
- Tooltips tiasa dipicu ku unsur dina DOM kalangkang.
prefers-reduced-motion
pamundut média. Tempo
bagian gerak ngurangan tina dokuméntasi aksés kami .
Ngagaduhan sadayana éta? Hébat, hayu urang tingali kumaha aranjeunna damel sareng sababaraha conto.
Conto: Aktipkeun tooltips dimana-mana
Salah sahiji cara pikeun ngamimitian sadaya tooltip dina halaman nyaéta milih ku data-bs-toggle
atributna:
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
Contona
Hover dina tumbu di handap pikeun ningali tooltips:
Téks pananda tempat pikeun nunjukkeun sababaraha tautan inline sareng tooltips. Ieu ayeuna ngan filler, euweuh killer. Eusi disimpen di dieu ngan pikeun meniru ayana téks nyata . Sareng sadaya éta ngan ukur pikeun masihan anjeun ide kumaha tooltip bakal katingali nalika dianggo dina kaayaan dunya nyata. Janten mugia anjeun ayeuna tos ningali kumaha tooltips ieu dina tautan tiasa dianggo dina prakna, saatos anjeun ngagunakeunana dina situs atanapi proyek anjeun nyalira .
Hover dina tombol di handap pikeun ningali opat arah tooltips: luhur, katuhu, handap, jeung kénca. Arah dicerminkeun nalika nganggo Bootstrap di RTL.
<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>
Sareng ditambah HTML khusus:
<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>
Kalayan SVG:
Sass
Variabel
$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;
Pamakéan
Plugin tooltip ngahasilkeun eusi sareng markup dumasar kana paménta, sareng sacara standar nempatkeun tooltip saatos unsur pemicuna.
Micu tooltip via JavaScript:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Ngabahekeun auto
jeungscroll
Posisi tooltip nyoba otomatis robah lamun wadah indungna boga overflow: auto
atawa overflow: scroll
resep kami .table-responsive
, tapi tetep ngajaga posisi panempatan aslina urang. Pikeun ngabéréskeun ieu, setel boundary
pilihan (pikeun modifier flip nganggo popperConfig
pilihan) kana HTMLElement naon waé pikeun nimpa nilai standar 'clippingParents'
, sapertos document.body
:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: document.body // or document.querySelector('#boundary')
})
Markup
Markup anu diperyogikeun pikeun tooltip ngan ukur data
atribut sareng title
dina unsur HTML anjeun hoyong gaduh tooltip. Markup anu dihasilkeun tina tooltip rada saderhana, sanaos peryogi posisi (sacara standar, disetel top
ku plugin).
Nyieun tooltips dianggo pikeun keyboard jeung pamaké téhnologi assistive
Anjeun ngan kedah nambahkeun tooltips kana elemen HTML nu tradisional keyboard-focusable sarta interaktif (saperti tumbu atawa kontrol formulir). Sanajan elemen HTML sawenang (sapertos <span>
s) bisa dijieun focusable ku nambahkeun tabindex="0"
atribut, ieu bakal nambahan tab berpotensi bangor tur ngabingungkeun eureun dina elemen non-interaktif pikeun pamaké keyboard, sarta paling téknologi mantuan ayeuna teu ngumumkeun tooltip dina situasi ieu. Salaku tambahan, ulah ngan ukur ngandelkeun hover
salaku pemicu pikeun tooltip anjeun, sabab ieu bakal ngajantenkeun tooltip anjeun teu mungkin dipicuna pikeun pangguna keyboard.
<!-- 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>
Unsur ditumpurkeun
Unsur-unsur anu gaduh disabled
atribut henteu interaktif, hartosna pangguna henteu tiasa museurkeun, hover, atanapi klik aranjeunna pikeun memicu tooltip (atanapi popover). Salaku workaround a, Anjeun bakal hoyong pemicu tooltip ti wrapper <div>
atawa <span>
, idéal dijieun keyboard-focusable maké 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>
Pilihan
Pilihan bisa diliwatan via atribut data atawa JavaScript. Pikeun atribut data, tambahkeun nami pilihan ka data-bs-
, sapertos dina data-bs-animation=""
. Pastikeun pikeun ngarobah tipe kasus tina ngaran pilihan tina camelCase ka kebab-kasus nalika ngalirkeun pilihan ngaliwatan atribut data. Contona, tinimbang ngagunakeun data-bs-customClass="beautifier"
, make data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
, sareng
allowList
pilihan teu tiasa disayogikeun nganggo atribut data.
Ngaran | Tipe | Default | Katerangan |
---|---|---|---|
animation |
boolean | true |
Larapkeun transisi fade CSS kana tooltip |
container |
string | unsur | palsu | false |
Appends tooltip ka elemen husus. Contona: |
delay |
angka | objék | 0 |
Reureuh némbongkeun sarta nyumputkeun tooltip (ms) - teu dilarapkeun ka tipe pemicu manual Lamun jumlah disadiakeun, reureuh diterapkeun ka duanana nyumputkeun / acara Struktur objék nyaéta: |
html |
boolean | false |
Ngidinan HTML dina tooltip. Upami leres, tag HTML dina tooltip Anggo téks upami anjeun hariwang ngeunaan serangan XSS. |
placement |
string | fungsi | 'top' |
Kumaha posisi tooltip - otomatis | luhur | handap | ditinggalkeun | leres. Nalika hiji fungsi dipaké pikeun nangtukeun panempatan, mangka disebut titik tooltip DOM salaku argumen kahiji sarta triggering unsur titik DOM salaku kadua. Kontéks |
selector |
string | palsu | false |
Upami pamilih disayogikeun, obyék tooltip bakal didelegasikeun ka udagan anu ditangtukeun. Dina prakna, ieu dipaké pikeun ogé nerapkeun tooltips pikeun dinamis ditambahkeun elemen DOM ( jQuery.on rojongan). Tingali ieu sareng conto informatif . |
template |
senar | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Dasar HTML pikeun dianggo nalika nyiptakeun tooltip. tooltip urang
Unsur wrapper pangluarna kudu boga |
title |
string | unsur | fungsi | '' |
Nilai judul standar upami Upami fungsina dipasihkeun, éta bakal disebat ku |
trigger |
senar | 'hover focus' |
Kumaha tooltip dipicu - klik | ngalayang | fokus | manual. Anjeun tiasa ngalangkungan sababaraha pemicu; misahkeun aranjeunna kalayan spasi.
|
fallbackPlacements |
susunan | ['top', 'right', 'bottom', 'left'] |
Nangtukeun panempatan fallback ku cara méré daptar panempatan dina susunan (dina urutan preferensi). Kanggo inpo nu leuwih lengkep tingal docs kabiasaan Popper urang |
boundary |
string | unsur | 'clippingParents' |
wates konstrain mudal tina tooltip (ngan manglaku ka Popper's preventOverflow modifier). Sacara standar éta 'clippingParents' sarta bisa nampa hiji rujukan HTMLElement (via JavaScript wungkul). Kanggo inpo nu leuwih lengkep tingal Popper urang detectOverflow docs . |
customClass |
string | fungsi | '' |
Tambahkeun kelas kana tooltip nalika dipintonkeun. Catet yén kelas-kelas ieu bakal ditambah salian ti kelas-kelas anu aya dina citakan. Pikeun nambahkeun sababaraha kelas, misahkeun aranjeunna kalayan spasi: Anjeun oge bisa lulus fungsi nu kudu balik a string tunggal ngandung ngaran kelas tambahan. |
sanitize |
boolean | true |
Aktipkeun atanapi mareuman sanitasi. Upami diaktipkeun 'template' sareng 'title' pilihan bakal disanitasi. Tingali bagian sanitizer dina dokuméntasi JavaScript kami . |
allowList |
objék | Nilai standar | Obyék anu ngandung atribut sareng tag anu diidinan |
sanitizeFn |
null | fungsi | null |
Di dieu anjeun tiasa nyayogikeun fungsi sanitasi anjeun nyalira. Ieu tiasa mangpaat upami anjeun resep ngagunakeun perpustakaan khusus pikeun ngalaksanakeun sanitasi. |
offset |
susunan | string | fungsi | [0, 0] |
Offset tooltip relatif ka target na. Anjeun tiasa ngalangkungan string dina atribut data kalayan nilai anu dipisahkeun koma sapertos: Nalika hiji fungsi dipaké pikeun nangtukeun offset, mangka disebut kalawan objék ngandung panempatan popper, rujukan, sarta popper rects salaku argumen kahijina. The triggering unsur DOM titik diliwatan salaku argumen kadua. fungsi kudu balik Asép Sunandar Sunarya dua angka :. Kanggo inpo nu leuwih lengkep tingal docs offset Popper urang . |
popperConfig |
null | objék | fungsi | null |
Pikeun ngarobah konfigurasi Popper standar Bootstrap, tingali konfigurasi Popper . Nalika hiji fungsi dipaké pikeun nyieun konfigurasi Popper, mangka disebut kalawan obyék nu ngandung konfigurasi Popper standar Bootstrap urang. Éta ngabantosan anjeun nganggo sareng ngahijikeun standar sareng konfigurasi anjeun nyalira. fungsi kudu balik hiji objek konfigurasi pikeun Popper. |
Atribut data pikeun tooltips individu
Pilihan pikeun tooltips individu Alternatipna bisa dieusian ngaliwatan pamakéan atribut data, sakumaha dipedar di luhur.
Ngagunakeun fungsi kalawanpopperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Métode
Métode Asynchronous sareng transisi
Sadaya metode API henteu sinkron sareng ngamimitian transisi . Aranjeunna balik deui ka panelepon pas transisi dimimitian tapi saméméh éta ends . Sajaba ti éta, panggero métode dina komponén transisi bakal dipaliré .
Tempo dokuméntasi JavaScript kami pikeun inpo nu leuwih lengkep .
nempokeun
Nembongkeun tooltip unsur. Mulih ka nu nelepon saméméh tooltip sabenerna geus ditémbongkeun (ie saméméh shown.bs.tooltip
acara lumangsung). Ieu dianggap "manual" pemicu tooltip. Tooltips kalawan judul nol-panjangna pernah ditémbongkeun.
tooltip.show()
nyumput
Nyumputkeun tooltip unsur. Mulih ka panelepon saméméh tooltip sabenerna disumputkeun (ie saméméh hidden.bs.tooltip
acara lumangsung). Ieu dianggap "manual" pemicu tooltip.
tooltip.hide()
togél
Toggles tooltip hiji unsur. Mulih ka nu nelepon saméméh tooltip sabenerna geus ditémbongkeun atawa disumputkeun (ie saméméh shown.bs.tooltip
atawa hidden.bs.tooltip
kajadian lumangsung). Ieu dianggap "manual" pemicu tooltip.
tooltip.toggle()
miceun
Nyumputkeun sareng ngancurkeun tooltip unsur (Ngahapus data anu disimpen dina unsur DOM). Tooltips nu make delegasi (anu dijieun maké pilihanselector
) teu bisa individual ancur dina elemen pemicu turunan.
tooltip.dispose()
ngaktifkeun
Méré tooltip hiji unsur kamampuhan pikeun dipintonkeun. Tooltips diaktipkeun sacara standar.
tooltip.enable()
mareuman
Ngaleungitkeun kamampuan pikeun nunjukkeun tooltip unsur. Tooltip ngan bakal tiasa ditingalikeun upami diaktipkeun deui.
tooltip.disable()
toggleDiaktipkeun
Toggles kamampuhan pikeun tooltip unsur pikeun ditémbongkeun atawa disumputkeun.
tooltip.toggleEnabled()
apdet
Ngamutahirkeun posisi tooltip hiji unsur.
tooltip.update()
getInstance
Metodeu statik anu ngamungkinkeun anjeun kéngingkeun conto tooltip anu aya hubunganana sareng unsur DOM
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
getOrCreateInstance
Métode statik anu ngamungkinkeun anjeun kéngingkeun conto tooltip anu aya hubunganana sareng unsur DOM, atanapi ngadamel anu énggal upami henteu diinisialisasi.
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
Kajadian
Jenis acara | Katerangan |
---|---|
show.bs.tooltip |
Kajadian ieu langsung hurung nalika show metode conto disebut. |
shown.bs.tooltip |
Kajadian ieu dipecat nalika tooltip parantos katingali ku pangguna (bari ngantosan transisi CSS réngsé). |
hide.bs.tooltip |
Kajadian ieu langsung dipecat nalika hide metode conto parantos disebut. |
hidden.bs.tooltip |
Kajadian ieu dipecat nalika tooltip parantos disumputkeun tina pangguna (bari ngantosan transisi CSS réngsé). |
inserted.bs.tooltip |
Kajadian ieu dipecat sanggeus show.bs.tooltip kajadian nalika template tooltip geus ditambahkeun kana DOM. |
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
// do something...
})
tooltip.hide()