Popovers
Τεκμηρίωση και παραδείγματα για την προσθήκη popover Bootstrap, όπως αυτά που βρίσκονται στο iOS, σε οποιοδήποτε στοιχείο στον ιστότοπό σας.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Πράγματα που πρέπει να γνωρίζετε όταν χρησιμοποιείτε την προσθήκη popover:
- Τα popover βασίζονται στη βιβλιοθήκη Popper.js τρίτου μέρους για την τοποθέτηση. Πρέπει να συμπεριλάβετε το popper.min.js πριν από το bootstrap.js ή να χρησιμοποιήσετε το
bootstrap.bundle.min.js
/bootstrap.bundle.js
που περιέχει το Popper.js για να λειτουργήσουν τα popovers! - Τα popovers απαιτούν την προσθήκη συμβουλής εργαλείου ως εξάρτηση.
- Εάν δημιουργείτε το JavaScript μας από την πηγή, απαιτεί
util.js
. - Τα popover επιλέγονται για λόγους απόδοσης, επομένως πρέπει να τα αρχικοποιήσετε μόνοι σας .
- Το μηδενικό μήκος
title
καιcontent
οι τιμές δεν θα εμφανίσουν ποτέ popover. - Καθορίστε
container: 'body'
για να αποφύγετε την απόδοση προβλημάτων σε πιο σύνθετα στοιχεία (όπως οι ομάδες εισόδου, οι ομάδες κουμπιών κ.λπ.). - Η ενεργοποίηση popover σε κρυφά στοιχεία δεν θα λειτουργήσει.
- Τα popover για
.disabled
ήdisabled
τα στοιχεία πρέπει να ενεργοποιούνται σε ένα στοιχείο περιτυλίγματος. - Όταν ενεργοποιούνται από άγκυρες που τυλίγονται σε πολλές γραμμές, τα popover θα βρίσκονται στο κέντρο μεταξύ του συνολικού πλάτους των αγκυρίων. Χρησιμοποιήστε
.text-nowrap
το στο<a>
s σας για να αποφύγετε αυτήν τη συμπεριφορά. - Τα popover πρέπει να είναι κρυφά πριν αφαιρεθούν τα αντίστοιχα στοιχεία τους από το DOM.
- Τα popovers μπορούν να ενεργοποιηθούν χάρη σε ένα στοιχείο μέσα σε ένα σκιερό DOM.
Το εφέ κίνησης αυτού του στοιχείου εξαρτάται από το prefers-reduced-motion
ερώτημα πολυμέσων. Δείτε την ενότητα μειωμένης κίνησης της τεκμηρίωσης προσβασιμότητας .
Συνεχίστε να διαβάζετε για να δείτε πώς λειτουργούν τα popovers με μερικά παραδείγματα.
Παράδειγμα: Ενεργοποιήστε τα popovers παντού
Ένας τρόπος για να αρχικοποιήσετε όλα τα popover σε μια σελίδα θα ήταν να τα επιλέξετε με βάση το data-toggle
χαρακτηριστικό τους:
Παράδειγμα: Χρησιμοποιώντας την container
επιλογή
Όταν έχετε κάποια στυλ σε ένα γονικό στοιχείο που παρεμβαίνουν σε ένα popover, θα θέλετε να καθορίσετε ένα προσαρμοσμένο container
, έτσι ώστε το HTML του popover να εμφανίζεται σε αυτό το στοιχείο.
Παράδειγμα
Τέσσερις κατευθύνσεις
Είναι διαθέσιμες τέσσερις επιλογές: επάνω, δεξιά, κάτω και αριστερή στοίχιση.
Παράβλεψη στο επόμενο κλικ
Χρησιμοποιήστε το focus
έναυσμα για να απορρίψετε τα popover στο επόμενο κλικ του χρήστη σε ένα διαφορετικό στοιχείο από το στοιχείο εναλλαγής.
Απαιτείται συγκεκριμένη σήμανση για την απόρριψη στο επόμενο κλικ
Για σωστή συμπεριφορά μεταξύ προγραμμάτων περιήγησης και μεταξύ πλατφορμών, πρέπει να χρησιμοποιήσετε την <a>
ετικέτα, όχι την <button>
ετικέτα, και πρέπει επίσης να συμπεριλάβετε ένα tabindex
χαρακτηριστικό.
Απενεργοποιημένα στοιχεία
Τα στοιχεία με το disabled
χαρακτηριστικό δεν είναι διαδραστικά, πράγμα που σημαίνει ότι οι χρήστες δεν μπορούν να τοποθετήσουν το δείκτη του ποντικιού ή να κάνουν κλικ σε αυτά για να ενεργοποιήσουν ένα popover (ή επεξήγηση εργαλείου). Ως λύση, θα θελήσετε να ενεργοποιήσετε το popover από ένα περιτύλιγμα <div>
ή <span>
και να παρακάμψετε το pointer-events
στοιχείο στο απενεργοποιημένο στοιχείο.
Για απενεργοποιημένες ενεργοποιήσεις popover, μπορείτε επίσης να προτιμάτε data-trigger="hover"
το popover να εμφανίζεται ως άμεση οπτική ανατροφοδότηση στους χρήστες σας, καθώς ενδέχεται να μην περιμένουν να κάνουν κλικ σε ένα απενεργοποιημένο στοιχείο.
Χρήση
Ενεργοποίηση popovers μέσω JavaScript:
Επιλογές
Οι επιλογές μπορούν να μεταβιβαστούν μέσω χαρακτηριστικών δεδομένων ή JavaScript. Για τα χαρακτηριστικά δεδομένων, προσθέστε το όνομα της επιλογής στο data-
, όπως στο data-animation=""
.
Σημειώστε ότι για λόγους ασφαλείας οι επιλογές sanitize
, sanitizeFn
και whiteList
δεν μπορούν να παρασχεθούν χρησιμοποιώντας χαρακτηριστικά δεδομένων.
Ονομα | Τύπος | Προκαθορισμένο | Περιγραφή |
---|---|---|---|
κινουμένων σχεδίων | boolean | αληθής | Εφαρμόστε μια μετάβαση εξαφάνισης CSS στο popover |
δοχείο | χορδή | στοιχείο | ψευδής | ψευδής | Προσθέτει το popover σε ένα συγκεκριμένο στοιχείο. Παράδειγμα: |
περιεχόμενο | χορδή | στοιχείο | λειτουργία | '' | Προεπιλεγμένη τιμή περιεχομένου εάν Εάν δοθεί μια συνάρτηση, θα κληθεί με το |
καθυστέρηση | αριθμός | αντικείμενο | 0 | Καθυστέρηση εμφάνισης και απόκρυψης του popover (ms) - δεν ισχύει για τον τύπο χειροκίνητης σκανδάλης Εάν παρέχεται ένας αριθμός, εφαρμόζεται καθυστέρηση και για την απόκρυψη/εμφάνιση Η δομή του αντικειμένου είναι: |
html | boolean | ψευδής | Εισαγάγετε HTML στο popover. Εάν είναι false, η μέθοδος του jQuery text θα χρησιμοποιηθεί για την εισαγωγή περιεχομένου στο DOM. Χρησιμοποιήστε κείμενο εάν ανησυχείτε για επιθέσεις XSS. |
τοποθέτηση | χορδή | λειτουργία | 'σωστά' | Πώς να τοποθετήσετε το popover - auto | κορυφή | κάτω | αριστερά | σωστά. Όταν μια συνάρτηση χρησιμοποιείται για τον προσδιορισμό της τοποθέτησης, καλείται με πρώτο όρισμα τον κόμβο DOM popover και δεύτερο τον κόμβο DOM στοιχείο ενεργοποίησης. Το |
εκλέκτορας | χορδή | ψευδής | ψευδής | Εάν παρέχεται επιλογέας, τα αντικείμενα popover θα εκχωρηθούν στους καθορισμένους στόχους. Στην πράξη, αυτό χρησιμοποιείται για να επιτρέψει στο δυναμικό περιεχόμενο HTML να προστεθούν popover. Δείτε αυτό και ένα ενημερωτικό παράδειγμα . |
πρότυπο | σειρά | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Βάση HTML για χρήση κατά τη δημιουργία του popover. Το popover's Το popover's
Το πιο εξωτερικό στοιχείο περιτυλίγματος θα πρέπει να έχει την |
τίτλος | χορδή | στοιχείο | λειτουργία | '' | Προεπιλεγμένη τιμή τίτλου εάν Εάν δοθεί μια συνάρτηση, θα κληθεί με το |
δώσει το έναυσμα για | σειρά | 'Κάντε κλικ' | Πώς ενεργοποιείται το popover - κάντε κλικ | αιωρούνται | εστίαση | εγχειρίδιο. Μπορείτε να περάσετε πολλαπλούς ερεθισμούς. χωρίστε τα με ένα κενό. manual δεν μπορεί να συνδυαστεί με καμία άλλη σκανδάλη. |
αντισταθμίζεται | αριθμός | σειρά | 0 | Αντιστάθμιση του popover σε σχέση με τον στόχο του. Για περισσότερες πληροφορίες, ανατρέξτε στα έγγραφα μετατόπισης του Popper.js . |
εναλλακτική τοποθέτηση | χορδή | πίνακας | 'αναρρίπτω' | Επιτρέψτε να καθορίσετε ποια θέση θα χρησιμοποιήσει ο Popper στην εναλλακτική. Για περισσότερες πληροφορίες, ανατρέξτε στα έγγραφα συμπεριφοράς του Popper.js |
Όριο | χορδή | στοιχείο | 'scrollParent' | Όριο περιορισμού υπερχείλισης του popover. Αποδέχεται τις τιμές του 'viewport' , 'window' , 'scrollParent' ή μιας αναφοράς HTMLElement (μόνο JavaScript). Για περισσότερες πληροφορίες, ανατρέξτε στα έγγραφα preventOverflow του Popper.js . |
απολυμάνετε | boolean | αληθής | Ενεργοποιήστε ή απενεργοποιήστε την απολύμανση. Εάν ενεργοποιηθεί 'template' , 'content' και 'title' οι επιλογές θα απολυμανθούν. |
λευκή λίστα | αντικείμενο | Προεπιλεγμένη τιμή | Αντικείμενο που περιέχει επιτρεπόμενα χαρακτηριστικά και ετικέτες |
sanitizeFn | null | λειτουργία | μηδενικό | Εδώ μπορείτε να παρέχετε τη δική σας λειτουργία απολύμανσης. Αυτό μπορεί να είναι χρήσιμο εάν προτιμάτε να χρησιμοποιήσετε μια αποκλειστική βιβλιοθήκη για να πραγματοποιήσετε απολύμανση. |
Χαρακτηριστικά δεδομένων για μεμονωμένα popovers
Οι επιλογές για μεμονωμένα popover μπορούν εναλλακτικά να καθοριστούν μέσω της χρήσης των χαρακτηριστικών δεδομένων, όπως εξηγείται παραπάνω.
Μέθοδοι
Ασύγχρονες μέθοδοι και μεταβάσεις
Όλες οι μέθοδοι API είναι ασύγχρονες και ξεκινούν μια μετάβαση . Επιστρέφουν στον καλούντα μόλις ξεκινήσει η μετάβαση αλλά πριν τελειώσει . Επιπλέον, μια κλήση μεθόδου σε ένα στοιχείο μετάβασης θα αγνοηθεί .
Δείτε την τεκμηρίωση JavaScript για περισσότερες πληροφορίες .
$().popover(options)
Αρχικοποιεί τα popover για μια συλλογή στοιχείων.
.popover('show')
Αποκαλύπτει το popover ενός στοιχείου. Επιστρέφει στον καλούντα πριν εμφανιστεί πραγματικά το popover (δηλαδή πριν συμβεί το shown.bs.popover
συμβάν). Αυτό θεωρείται μια «χειροκίνητη» ενεργοποίηση του popover. Τα popover των οποίων τόσο ο τίτλος όσο και το περιεχόμενο είναι μηδενικού μήκους δεν εμφανίζονται ποτέ.
.popover('hide')
Hides an element’s popover. Returns to the caller before the popover has actually been hidden (i.e. before the hidden.bs.popover
event occurs). This is considered a “manual” triggering of the popover.
.popover('toggle')
Toggles an element’s popover. Returns to the caller before the popover has actually been shown or hidden (i.e. before the shown.bs.popover
or hidden.bs.popover
event occurs). This is considered a “manual” triggering of the popover.
.popover('dispose')
Hides and destroys an element’s popover. Popovers that use delegation (which are created using the selector
option) cannot be individually destroyed on descendant trigger elements.
.popover('enable')
Gives an element’s popover the ability to be shown. Popovers are enabled by default.
.popover('disable')
Removes the ability for an element’s popover to be shown. The popover will only be able to be shown if it is re-enabled.
.popover('toggleEnabled')
Toggles the ability for an element’s popover to be shown or hidden.
.popover('update')
Updates the position of an element’s popover.
Events
Event Type | Description |
---|---|
show.bs.popover | This event fires immediately when the show instance method is called. |
shown.bs.popover | This event is fired when the popover has been made visible to the user (will wait for CSS transitions to complete). |
hide.bs.popover | This event is fired immediately when the hide instance method has been called. |
hidden.bs.popover | This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete). |
inserted.bs.popover | Αυτό το συμβάν ενεργοποιείται μετά το show.bs.popover συμβάν όταν το πρότυπο popover έχει προστεθεί στο DOM. |