Sfaturi instrumente
Documentație și exemple pentru adăugarea de sfaturi personalizate Bootstrap cu CSS și JavaScript folosind CSS3 pentru animații și atribute de date pentru stocarea locală a titlurilor.
Lucruri de știut atunci când utilizați pluginul tooltip:
- Sfaturile instrumente se bazează pe biblioteca terță parte Popper.js pentru poziționare. Trebuie să includeți popper.min.js înainte de bootstrap.js sau să utilizați
bootstrap.bundle.min.js
/bootstrap.bundle.js
care conține Popper.js pentru ca sfaturile instrumente să funcționeze! - Dacă construiți JavaScript din sursă, este nevoie
util.js
de . - Sfaturile instrumente sunt înscrise din motive de performanță, așa că trebuie să le inițializați singur .
- Sfaturile instrumente cu titluri de lungime zero nu sunt niciodată afișate.
- Specificați
container: 'body'
pentru a evita problemele de randare în componente mai complexe (cum ar fi grupurile noastre de intrare, grupurile de butoane etc.). - Declanșarea indicațiilor de instrucțiuni pentru elementele ascunse nu va funcționa.
- Sfaturile instrumente pentru
.disabled
saudisabled
elemente trebuie să fie declanșate pe un element de înveliș. - Când sunt declanșate de la hyperlinkuri care se întind pe mai multe linii, sfaturile instrumente vor fi centrate. Folosește -l
white-space: nowrap;
pe tine<a>
pentru a evita acest comportament. - Sfaturile cu instrumente trebuie ascunse înainte ca elementele lor corespunzătoare să fie eliminate din DOM.
Ai toate astea? Grozav, să vedem cum funcționează cu câteva exemple.
O modalitate de a inițializa toate sfaturile instrumente dintr-o pagină ar fi să le selectați după data-toggle
atributul lor:
Treceți cu mouse-ul peste linkurile de mai jos pentru a vedea sfaturi despre instrumente:
Pantaloni strâmți, keffiyeh , probabil că nu ați auzit de ei. Cabina foto barbă din denim brut tipografie geantă vegană stumptown. Seitanul de la fermă la masă, mcsweeney's fixie sustainable quinoa 8-bit american apparel au un terry richardson vinyl chambray. Beard Stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. Un artizan cu adevărat ironic orice keytar , scenester farm-to-table banksy Austin twitter handle freegan cred raw denim cafea de origine unică virală.
Treceți cu mouse-ul peste butoanele de mai jos pentru a vedea cele patru indicații de indicații: sus, dreapta, jos și stânga.
Și cu HTML personalizat adăugat:
Pluginul de indicații cu instrumente generează conținut și markup la cerere și, în mod implicit, plasează indicatorii de informații după elementul de declanșare.
Declanșați balonul cu ajutorul JavaScript:
Debordare auto
șiscroll
Poziția balonului explicativ încearcă să se schimbe automat atunci când un container părinte are overflow: auto
sau îi overflow: scroll
place .table-responsive
, dar păstrează totuși poziționarea destinației inițiale. Pentru a rezolva, setați boundary
opțiunea la orice altceva decât valoarea implicită 'scrollParent'
, cum ar fi 'window'
:
Markupul necesar pentru un balon explicativ este doar un data
atribut și title
pe elementul HTML doriți să aveți un balon explicativ. Markupul generat al unui tooltip este destul de simplu, deși necesită o poziție (în mod implicit, setată top
de plugin).
Faceți ca sfaturile instrumente să funcționeze pentru utilizatorii de tastatură și de tehnologie de asistență
Ar trebui să adăugați doar sfaturi pentru elementele HTML care sunt în mod tradițional focalizate pe tastatură și interactive (cum ar fi link-uri sau comenzi de formular). Deși elementele HTML arbitrare (cum ar fi <span>
s) pot fi focalizate prin adăugarea tabindex="0"
atributului, acest lucru va adăuga tabulaturi potențial enervante și confuze pe elementele neinteractive pentru utilizatorii de tastatură. În plus, majoritatea tehnologiilor de asistență nu anunță momentan indicația în această situație.
În plus, nu vă bazați exclusiv hover
ca declanșator pentru indicația dvs. cu instrumente, deoarece acest lucru va face ca acestea să fie imposibil de declanșat pentru utilizatorii de tastatură.
Elementele cu disabled
atributul nu sunt interactive, ceea ce înseamnă că utilizatorii nu se pot concentra, trece cu mouse-ul sau face clic pe ele pentru a declanșa un balon explicativ (sau popover). Ca o soluție de soluționare, veți dori să declanșați sfatul cu instrumente dintr-un înveliș <div>
sau <span>
, în mod ideal, care poate fi focalizat pe tastatură folosind tabindex="0"
, și să înlocuiți pointer-events
elementul dezactivat.
Opțiunile pot fi transmise prin atribute de date sau JavaScript. Pentru atributele datelor, adăugați numele opțiunii la data-
, ca în data-animation=""
.
Nume | Tip | Mod implicit | Descriere |
---|---|---|---|
animaţie | boolean | Adevărat | Aplicați o tranziție de estompare CSS la balonul explicativ |
recipient | șir | element | fals | fals | Adaugă indicația la un anumit element. Exemplu: |
întârziere | număr | obiect | 0 | Întârziere afișarea și ascunderea descrierii explicative (ms) - nu se aplică tipului de declanșare manuală Dacă este furnizat un număr, se aplică întârziere atât pentru ascunde/afișare Structura obiectului este: |
html | boolean | fals | Permiteți HTML în sfatul instrumentului. Dacă este adevărat, etichetele HTML din balonul explicativ Folosiți text dacă vă îngrijorează atacurile XSS. |
plasare | șir | funcţie | 'top' | Cum se poziționează indicatorul - auto | sus | jos | stânga | dreapta. Când o funcție este utilizată pentru a determina plasarea, aceasta este apelată cu nodul DOM ca prim argument și elementul de declanșare nodul DOM ca al doilea. Contextul |
selector | șir | fals | fals | Dacă este furnizat un selector, obiectele de tip tooltip vor fi delegate țintelor specificate. În practică, aceasta este folosită pentru a permite conținutului HTML dinamic să fie adăugate popovers. Vedeți acesta și un exemplu informativ . |
șablon | şir | '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>' |
HTML de bază de utilizat la crearea descrierii explicative. Indicațiile
Elementul de înveliș exterior ar trebui să aibă |
titlu | șir | element | funcţie | '' | Valoarea implicită a titlului dacă Dacă este dată o funcție, aceasta va fi apelată cu |
declanșatorul | şir | „focalizare” | Cum se declanșează balonul - faceți clic pe | hover | focus | manual. Puteți trece mai multe declanșatoare; separați-le cu un spațiu.
|
decalaj | număr | şir | 0 | Decalaj al indicației explicative în raport cu ținta acestuia. Pentru mai multe informații, consultați documentele offset ale Popper.js . |
plasare de rezervă | șir | matrice | „întoarce” | Permiteți să specificați ce poziție va folosi Popper în cazul de rezervă. Pentru mai multe informații, consultați documentele de comportament ale Popper.js |
limite | șir | element | 'scrollParent' | Limita constrângerii de depășire a balonului explicativ. Acceptă valorile 'viewport' , 'window' , 'scrollParent' , sau o referință HTMLElement (numai JavaScript). Pentru mai multe informații, consultați documentele preventOverflow ale Popper.js . |
Atribute de date pentru sfaturi instrumentale individuale
Opțiunile pentru sfaturi instrumente individuale pot fi specificate alternativ prin utilizarea atributelor de date, așa cum s-a explicat mai sus.
Metode și tranziții asincrone
Toate metodele API sunt asincrone și încep o tranziție . Ei revin la apelant imediat ce tranziția este începută, dar înainte ca aceasta să se încheie . În plus, un apel de metodă pentru o componentă de tranziție va fi ignorat .
Consultați documentația noastră JavaScript pentru mai multe informații.
Atașează un handler tooltip la o colecție de elemente.
Dezvăluie explicația unui element. Se întoarce la apelant înainte ca indicația să fie afișată efectiv (adică înainte de apariția shown.bs.tooltip
evenimentului). Aceasta este considerată o declanșare „manuală” a descrierii explicative. Sfaturile instrumente cu titluri de lungime zero nu sunt niciodată afișate.
Ascunde explicația unui element. Se întoarce la apelant înainte ca indicația să fie ascunsă (adică înainte de apariția hidden.bs.tooltip
evenimentului). Aceasta este considerată o declanșare „manuală” a descrierii explicative.
Comută în lista de informații despre un element. Revine la apelant înainte ca balonul să fie afișat sau ascuns (adică înainte ca evenimentul shown.bs.tooltip
sau să hidden.bs.tooltip
apară). Aceasta este considerată o declanșare „manuală” a descrierii explicative.
Ascunde și distruge sfatul instrument al unui element. Sfaturile instrumente care folosesc delegarea (care sunt create folosind opțiunea selector
) nu pot fi distruse individual pe elementele de declanșare descendente.
Oferă un sfat instrument al unui element posibilitatea de a fi afișat. Sfaturile instrumente sunt activate în mod implicit.
Elimină capacitatea de afișare a indicației unui element. Indicatorul va putea fi afișat numai dacă este reactivat.
Comută posibilitatea ca indicația unui element să fie afișată sau ascunsă.
Actualizează poziția descrierii explicative a unui element.
Tip de eveniment | Descriere |
---|---|
arată.bs.tooltip | Acest eveniment se declanșează imediat când show este apelată metoda instanței. |
afișat.bs.tooltip | Acest eveniment este declanșat când balonul explicativ a fost făcut vizibil pentru utilizator (va aștepta finalizarea tranzițiilor CSS). |
ascunde.bs.tooltip | Acest eveniment este declanșat imediat când hide metoda instanței a fost apelată. |
hidden.bs.tooltip | Acest eveniment este declanșat când sfarsitul explicativ a terminat de ascuns utilizatorului (va aștepta finalizarea tranzițiilor CSS). |
inserat.bs.tooltip | Acest eveniment este declanșat după show.bs.tooltip eveniment, când șablonul de indicații explicative a fost adăugat la DOM. |