Source

Tooltips

Dokumentazzjoni u eżempji għaż-żieda ta 'tooltips Bootstrap personalizzati b'CSS u JavaScript bl-użu ta' CSS3 għal animazzjonijiet u attributi tad-dejta għall-ħażna tat-titlu lokali.

Ħarsa ġenerali

Affarijiet li għandek tkun taf meta tuża l-plugin tooltip:

  • Tooltips jiddependu fuq il-librerija tal-parti 3 Popper.js għall-ippożizzjonar. Trid tinkludi popper.min.js qabel bootstrap.js jew tuża bootstrap.bundle.min.js/ bootstrap.bundle.jsli fih Popper.js sabiex it-tooltips jaħdmu!
  • Jekk qed tibni JavaScript tagħna mis-sors, teħtieġutil.js .
  • Tooltips huma opt-in għal raġunijiet ta' prestazzjoni, għalhekk trid tinizjalizzahom lilek innifsek .
  • Tooltips b'titli ta' tul żero qatt ma jintwerew.
  • Speċifika container: 'body'biex tevita problemi ta' rendering f'komponenti aktar kumplessi (bħal gruppi ta' input tagħna, gruppi ta' buttuni, eċċ).
  • It-tqajjem tooltips fuq elementi moħbija mhux se jaħdem.
  • Tooltips għal .disabledjew disabledelementi għandhom jiġu attivati ​​fuq element tat-tgeżwir.
  • Meta jiġu attivati ​​minn hyperlinks li jkopru linji multipli, it-tooltips se jkunu ċċentrati. Uża white-space: nowrap;fuq tiegħek <a>biex tevita din l-imġieba.
  • Tooltips għandhom ikunu moħbija qabel ma l-elementi korrispondenti tagħhom ikunu tneħħew mid-DOM.

Ghandek dak kollu? Kbir, ejja naraw kif jaħdmu ma 'xi eżempji.

Eżempju: Ippermetti tooltips kullimkien

Mod wieħed biex jiġu inizjalizzati l-għodda kollha fuq paġna jkun li tagħżelhom skont l- data-toggleattribut tagħhom:

$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})

Eżempji

Passa fuq il-links hawn taħt biex tara l-għodda:

Qliezet stretti livell li jmiss keffiyeh inti probabilment ma smajthom. Photo booth beard raw denim letterpress vegan messaġġier borża stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american ilbies għandhom terri richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A verament ironiku artiġjan kwalunkwe keytar , scenester farm-to-table banksy Austin twitter manku freegan cred raw denim kafè ta 'oriġini waħda virali.

Passa fuq il-buttuni ta' hawn taħt biex tara l-erba' direzzjonijiet tal-għodda: ta' fuq, tal-lemin, ta' isfel u tax-xellug.

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

U b'HTML personalizzat miżjud:

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

Użu

Il-plugin tooltip jiġġenera kontenut u markup fuq talba, u awtomatikament iqiegħed tooltips wara l-element grillu tagħhom.

Agħmel it-tooltip permezz ta' JavaScript:

$('#example').tooltip(options)
Overflow autouscroll

Il-pożizzjoni tat-tooltip tipprova tinbidel awtomatikament meta kontenitur ġenitur ikollu overflow: autojew overflow: scrollbħal tagħna .table-responsive, iżda xorta jżomm il-pożizzjonament tat-tqegħid oriġinali. Biex issolvi, issettja l- boundarygħażla għal xi ħaġa oħra għajr il-valur default, 'scrollParent', bħal 'window':

$('#example').tooltip({ boundary: 'window' })

Markup

Il-markup meħtieġ għal tooltip huwa biss dataattribut u titlefuq l-element HTML tixtieq li jkollok tooltip. Il-markup iġġenerat ta' tooltip huwa pjuttost sempliċi, għalkemm jeħtieġ pożizzjoni (b'mod awtomatiku, issettjat topmill-plugin).

Li tagħmel it-tooltips jaħdmu għall-utenti tat-tastiera u tat-teknoloġija assistiva

Għandek iżżid biss tooltips ma' elementi HTML li tradizzjonalment huma ffukati fuq it-tastiera u interattivi (bħal links jew kontrolli tal-formoli). Għalkemm elementi HTML arbitrarji (bħal <span>s) jistgħu jsiru ffukabbli billi jiżdied l- tabindex="0"attribut, dan iżid tab stops potenzjalment tedjanti u konfużi fuq elementi mhux interattivi għall-utenti tat-tastiera. Barra minn hekk, il-biċċa l-kbira tat-teknoloġiji ta' assistenza bħalissa ma jħabbrux it-tooltip f'din is-sitwazzjoni.

Barra minn hekk, tistrieħx biss fuq hoverbħala l-grillu għall-tooltip tiegħek, peress li dan jagħmel it-tooltips tiegħek impossibbli li jiġu attivati ​​għall-utenti tat-tastiera.

<!-- HTML to write -->
<a href="#" data-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="arrow"></div>
  <div class="tooltip-inner">
    Some tooltip text!
  </div>
</div>

Elementi b'diżabilità

L-elementi bl- disabledattribut mhumiex interattivi, jiġifieri l-utenti ma jistgħux jiffokaw, jgħadduhom jew ikklikkjahom biex jagħtu bidu għal tooltip (jew popover). Bħala soluzzjoni, tkun trid tiskatta l-għodda minn tgeżwir <div>jew <span>, idealment magħmula li tiffoka fuq it-tastiera bl-użu ta' tabindex="0", u tegħleb pointer-eventsfuq l-element b'diżabilità.

<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="Disabled tooltip">
  <button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>

Għażliet

L-għażliet jistgħu jiġu mgħoddija permezz ta' attributi tad-dejta jew JavaScript. Għal attributi tad-dejta, ehmeż l-isem tal-għażla ma' data-, bħal f' data-animation="".

Isem Tip Default Deskrizzjoni
animazzjoni boolean veru Applika transizzjoni ta' fade CSS għall-tooltip
kontenitur spag | element | falza falza

Jwaħħal it-tooltip ma' element speċifiku. Eżempju: container: 'body'. Din l-għażla hija partikolarment utli peress li tippermettilek li tpoġġi l-tooltip fil-fluss tad-dokument ħdejn l-element triggering - li jipprevjeni l-tooltip milli jżomm f'wiċċ l-ilma 'l bogħod mill-element triggering waqt tibdil tad-daqs tat-tieqa.

dewmien numru | oġġett 0

Dewmien biex juri u jaħbi l-tooltip (ms) - ma japplikax għat-tip ta' grillu manwali

Jekk jiġi fornut numru, id-dewmien jiġi applikat kemm għall-ħbi/turi

L-istruttura tal-oġġett hija:delay: { "show": 500, "hide": 100 }

html boolean falza

Ħalli HTML fit-tooltip.

Jekk veru, it-tikketti HTML fil-tooltip's titlese jiġu mogħtija fil-tooltip. Jekk falz, il-metodu ta' jQuery textse jintuża biex jiddaħħal kontenut fid-DOM.

Uża test jekk int inkwetat dwar attakki XSS.

tqegħid spag | funzjoni 'fuq'

Kif tpoġġi l-tooltip - auto | fuq | qiegħ | xellug | dritt.
Meta autotkun speċifikata, se jorjenta mill-ġdid b'mod dinamiku l-tooltip.

Meta tintuża funzjoni biex tiddetermina t-tqegħid, tissejjaħ bin-node DOM tal-għodda bħala l-ewwel argument tagħha u n-nodu DOM tal-element triggering bħala t-tieni. Il- thiskuntest huwa ssettjat għall-istanza tooltip.

selettur spag | falza falza Jekk jiġi pprovdut selettur, l-oġġetti tat-tooltip jiġu delegati lill-miri speċifikati. Fil-prattika, dan jintuża biex jippermetti kontenut HTML dinamiku li jkollu popovers miżjuda. Ara dan u eżempju informattiv .
mudell spag '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>'

Bażi HTML biex tuża meta toħloq it-tooltip.

It-tooltip's titlese jiġu injettati fil- .tooltip-inner.

.arrowse ssir il-vleġġa tal-għodda.

L-element tat-tgeżwir l-aktar 'il barra għandu jkollu l- .tooltipklassi u role="tooltip".

titolu spag | element | funzjoni ''

Valur tat-titlu default jekk titlel-attribut ma jkunx preżenti.

Jekk tingħata funzjoni, tissejjaħ bir- thisreferenza tagħha ssettjata għall-element li l-tooltip huwa mwaħħal miegħu.

grillu spag 'fokus'

Kif tiġi attivata tooltip - ikklikkja | iddur | tiffoka | manwal. Inti tista 'tgħaddi triggers multipli; jifredhom bi spazju.

'manual'jindika li l-tooltip se jiġi attivat b'mod programmatiku permezz tal- .tooltip('show'), .tooltip('hide')u .tooltip('toggle')metodi; dan il-valur ma jistax jiġi kkombinat ma' kwalunkwe trigger ieħor.

'hover'waħdu se jirriżulta fi tooltips li ma jistgħux jiġu attivati ​​permezz tat-tastiera, u għandhom jintużaw biss jekk ikunu preżenti metodi alternattivi biex titwassal l-istess informazzjoni għall-utenti tat-tastiera.

offset numru | spag 0 Offset tal-tooltip relattiv għall-mira tiegħu. Għal aktar informazzjoni irreferi għad-doks tal- offset ta' Popper.js .
FallbackPlacement spag | firxa 'flip' Ħalli tispeċifika liema pożizzjoni se juża Popper fuq riżerva. Għal aktar informazzjoni irreferi għad-dokumenti tal- imġieba ta’ Popper.js
fruntiera spag | element 'scrollParent' Limitu ta' restrizzjoni ta' overflow tal-tooltip. Jaċċetta l-valuri ta' 'viewport', 'window', 'scrollParent', jew referenza HTMLElement (JavaScript biss). Għal aktar informazzjoni irreferi għad-doks preventOverflow ta' Popper.js .

Attributi tad-dejta għal tooltips individwali

Għażliet għal tooltips individwali jistgħu alternattivament jiġu speċifikati permezz tal-użu tal-attributi tad-dejta, kif spjegat hawn fuq.

Metodi

Metodi asinkroniċi u tranżizzjonijiet

Il-metodi kollha tal-API huma asinkroniċi u jibdew transizzjoni . Jirritornaw għand min iċempel hekk kif tinbeda t-tranżizzjoni iżda qabel ma tispiċċa . Barra minn hekk, sejħa ta' metodu fuq komponent ta' tranżizzjoni se tiġi injorata .

Ara d-dokumentazzjoni JavaScript tagħna għal aktar informazzjoni.

$().tooltip(options)

Jwaħħal tooltip handler ma' kollezzjoni ta' elementi.

.tooltip('show')

Tiżvela tooltip ta' element. Jirritorna lil min iċempel qabel ma jkun intwera l-għodda (jiġifieri qabel ma shown.bs.tooltipjseħħ l-avveniment). Dan huwa meqjus bħala attivazzjoni "manwali" tal-tooltip. Tooltips b'titli ta' tul żero qatt ma jintwerew.

$('#element').tooltip('show')

.tooltip('hide')

Jaħbi tooltip ta' element. Jirritorna lil min iċempel qabel ma l-għodda tkun ġiet moħbija (jiġifieri qabel ma hidden.bs.tooltipjseħħ l-avveniment). Dan huwa meqjus bħala attivazzjoni "manwali" tal-tooltip.

$('#element').tooltip('hide')

.tooltip('toggle')

Jiddawwar l-għodda ta' element. Jirritorna lil min iċempel qabel ma l-għodda tkun intweriet jew moħbija (jiġifieri qabel ma jseħħ l-avveniment shown.bs.tooltipjew ). hidden.bs.tooltipDan huwa meqjus bħala attivazzjoni "manwali" tal-tooltip.

$('#element').tooltip('toggle')

.tooltip('dispose')

Jaħbi u jeqred it-tooltip ta' element. Tooltips li jużaw id-delega (li huma maħluqa bl -użu tal - selectorgħażla ) ma jistgħux jinqerdu individwalment fuq elementi ta 'grillu dixxendenti.

$('#element').tooltip('dispose')

.tooltip('enable')

Jagħti l-abbiltà li jintwera tooltip ta' element. Tooltips huma attivati ​​awtomatikament.

$('#element').tooltip('enable')

.tooltip('disable')

Tneħħi l-abbiltà li l-tooltip ta' element jintwera. It-tooltip tkun tista' tintwera biss jekk terġa' tiġi attivata.

$('#element').tooltip('disable')

.tooltip('toggleEnabled')

Jiddawwar l-abbiltà li l-tooltip ta' element jintwera jew moħbi.

$('#element').tooltip('toggleEnabled')

.tooltip('update')

Taġġorna l-pożizzjoni tat-tooltip ta' element.

$('#element').tooltip('update')

Avvenimenti

Tip ta' Avveniment Deskrizzjoni
show.bs.tooltip Dan l-avveniment jispara immedjatament meta showjissejjaħ il-metodu tal-istanza.
muri.bs.tooltip Dan l-avveniment jiġi sparat meta l-tooltip tkun saret viżibbli għall-utent (se jistenna li t-tranżizzjonijiet CSS jitlestew).
hide.bs.tooltip Dan l-avveniment jiġi sparat immedjatament meta l- hidemetodu tal-istanza jkun ġie msejjaħ.
hidden.bs.tooltip Dan l-avveniment jiġi sparat meta l-tooltip spiċċa moħbi mill-utent (se jistenna li jitlestew it-tranżizzjonijiet CSS).
inserit.bs.tooltip Dan l-avveniment jiġi sparat wara l- show.bs.tooltipavveniment meta l-mudell tat-tooltip ikun ġie miżjud mad-DOM.
$('#myTooltip').on('hidden.bs.tooltip', function () {
  // do something…
})