Popovers
Τεκμηρίωση και παραδείγματα για την προσθήκη popover Bootstrap, όπως αυτά που βρίσκονται στο iOS, σε οποιοδήποτε στοιχείο στον ιστότοπό σας.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Πράγματα που πρέπει να γνωρίζετε όταν χρησιμοποιείτε την προσθήκη popover:
- Τα popover βασίζονται στη βιβλιοθήκη τρίτου μέρους Popper για την τοποθέτηση. Πρέπει να συμπεριλάβετε το popper.min.js πριν
bootstrap.js
ή να χρησιμοποιήσετε έναbootstrap.bundle.min.js
που περιέχει Popper. - Τα popover απαιτούν την προσθήκη popover ως εξάρτηση.
- Τα 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 για να μπορούν να χρησιμοποιηθούν. Ένας τρόπος για να αρχικοποιήσετε όλα τα popover σε μια σελίδα θα ήταν να τα επιλέξετε με βάση το data-bs-toggle
χαρακτηριστικό τους, όπως:
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
Ζωντανή επίδειξη
Χρησιμοποιούμε JavaScript παρόμοια με το παραπάνω απόσπασμα για να αποδώσουμε το ακόλουθο ζωντανό popover. Οι τίτλοι ορίζονται μέσω data-bs-title
και το περιεχόμενο του σώματος μέσω data-bs-content
.
title
ή
data-bs-title
στο HTML σας. Όταν
title
χρησιμοποιείται, το Popper θα το αντικαταστήσει αυτόματα με
data-bs-title
το πότε αποδίδεται το στοιχείο.
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
Τέσσερις κατευθύνσεις
Τέσσερις επιλογές είναι διαθέσιμες: πάνω, δεξιά, κάτω και αριστερά. Οι οδηγίες αντικατοπτρίζονται όταν χρησιμοποιείτε το Bootstrap στο RTL. Ρυθμίστε data-bs-placement
για αλλαγή κατεύθυνσης.
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
Popover on left
</button>
Εθιμοcontainer
Όταν έχετε κάποια στυλ σε ένα γονικό στοιχείο που παρεμβαίνουν σε ένα popover, θα θέλετε να καθορίσετε ένα προσαρμοσμένο container
, έτσι ώστε το HTML του popover να εμφανίζεται σε αυτό το στοιχείο. Αυτό είναι σύνηθες σε αποκριτικούς πίνακες, ομάδες εισόδου και παρόμοια.
const popover = new bootstrap.Popover('.example-popover', {
container: 'body'
})
Μια άλλη περίπτωση όπου θα θέλετε να ορίσετε μια ρητή προσαρμογή container
είναι τα popover μέσα σε ένα διάλογο modal , για να βεβαιωθείτε ότι το ίδιο το popover έχει προσαρτηθεί στο modal. Αυτό είναι ιδιαίτερα σημαντικό για popover που περιέχουν αλληλεπιδραστικά στοιχεία – οι modal διάλογοι θα παγιδεύουν την εστίαση, επομένως, εκτός εάν το popover είναι θυγατρικό στοιχείο του modal, οι χρήστες δεν θα μπορούν να εστιάσουν ή να ενεργοποιήσουν αυτά τα διαδραστικά στοιχεία.
const popover = new bootstrap.Popover('.example-popover', {
container: '.modal-body'
})
Προσαρμοσμένα popovers
Προστέθηκε στην έκδοση 5.2.0Μπορείτε να προσαρμόσετε την εμφάνιση των popover χρησιμοποιώντας μεταβλητές CSS . Ορίζουμε μια προσαρμοσμένη κλάση με data-bs-custom-class="custom-popover"
την οποία καλύπτουμε την προσαρμοσμένη μας εμφάνιση και τη χρησιμοποιούμε για να παρακάμψουμε ορισμένες από τις τοπικές μεταβλητές CSS.
.custom-popover {
--bs-popover-max-width: 200px;
--bs-popover-border-color: var(--bs-primary);
--bs-popover-header-bg: var(--bs-primary);
--bs-popover-header-color: var(--bs-white);
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: .5rem;
}
<button type="button" class="btn btn-secondary"
data-bs-toggle="popover" data-bs-placement="right"
data-bs-custom-class="custom-popover"
data-bs-title="Custom popover"
data-bs-content="This popover is themed via CSS variables.">
Custom popover
</button>
Παράβλεψη στο επόμενο κλικ
Χρησιμοποιήστε το focus
έναυσμα για να απορρίψετε τα popover στο επόμενο κλικ του χρήστη σε ένα διαφορετικό στοιχείο από το στοιχείο εναλλαγής.
Απαιτείται συγκεκριμένη σήμανση για την απόρριψη στο επόμενο κλικ
Για σωστή συμπεριφορά μεταξύ προγραμμάτων περιήγησης και μεταξύ πλατφορμών, πρέπει να χρησιμοποιήσετε την <a>
ετικέτα, όχι την <button>
ετικέτα, και πρέπει επίσης να συμπεριλάβετε ένα tabindex
χαρακτηριστικό.
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
const popover = new bootstrap.Popover('.popover-dismiss', {
trigger: 'focus'
})
Απενεργοποιημένα στοιχεία
Τα στοιχεία με το disabled
χαρακτηριστικό δεν είναι διαδραστικά, πράγμα που σημαίνει ότι οι χρήστες δεν μπορούν να τοποθετήσουν το δείκτη του ποντικιού ή να κάνουν κλικ σε αυτά για να ενεργοποιήσουν ένα popover (ή επεξήγηση εργαλείου). Ως λύση, θα θελήσετε να ενεργοποιήσετε το popover από ένα περιτύλιγμα <div>
ή <span>
ιδανικά κατασκευασμένο με δυνατότητα εστίασης στο πληκτρολόγιο χρησιμοποιώντας tabindex="0"
.
Για απενεργοποιημένες ενεργοποιήσεις popover, μπορείτε επίσης να προτιμάτε data-bs-trigger="hover focus"
το popover να εμφανίζεται ως άμεση οπτική ανατροφοδότηση στους χρήστες σας, καθώς ενδέχεται να μην περιμένουν να κάνουν κλικ σε ένα απενεργοποιημένο στοιχείο.
<span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="Disabled popover">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
CSS
Μεταβλητές
Προστέθηκε στην έκδοση 5.2.0Ως μέρος της εξελισσόμενης προσέγγισης μεταβλητών CSS του Bootstrap, τα popover χρησιμοποιούν πλέον τοπικές μεταβλητές CSS .popover
για βελτιωμένη προσαρμογή σε πραγματικό χρόνο. Οι τιμές για τις μεταβλητές CSS ορίζονται μέσω Sass, επομένως η προσαρμογή Sass εξακολουθεί να υποστηρίζεται.
--#{$prefix}popover-zindex: #{$zindex-popover};
--#{$prefix}popover-max-width: #{$popover-max-width};
@include rfs($popover-font-size, --#{$prefix}popover-font-size);
--#{$prefix}popover-bg: #{$popover-bg};
--#{$prefix}popover-border-width: #{$popover-border-width};
--#{$prefix}popover-border-color: #{$popover-border-color};
--#{$prefix}popover-border-radius: #{$popover-border-radius};
--#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};
--#{$prefix}popover-box-shadow: #{$popover-box-shadow};
--#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};
--#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};
@include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);
--#{$prefix}popover-header-color: #{$popover-header-color};
--#{$prefix}popover-header-bg: #{$popover-header-bg};
--#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};
--#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};
--#{$prefix}popover-body-color: #{$popover-body-color};
--#{$prefix}popover-arrow-width: #{$popover-arrow-width};
--#{$prefix}popover-arrow-height: #{$popover-arrow-height};
--#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);
Μεταβλητές Sass
$popover-font-size: $font-size-sm;
$popover-bg: $white;
$popover-max-width: 276px;
$popover-border-width: $border-width;
$popover-border-color: var(--#{$prefix}border-color-translucent);
$popover-border-radius: $border-radius-lg;
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow: $box-shadow;
$popover-header-font-size: $font-size-base;
$popover-header-bg: shade-color($popover-bg, 6%);
$popover-header-color: $headings-color;
$popover-header-padding-y: .5rem;
$popover-header-padding-x: $spacer;
$popover-body-color: $body-color;
$popover-body-padding-y: $spacer;
$popover-body-padding-x: $spacer;
$popover-arrow-width: 1rem;
$popover-arrow-height: .5rem;
Χρήση
Ενεργοποίηση popovers μέσω JavaScript:
const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)
Κάνοντας τα popover να λειτουργούν για χρήστες πληκτρολογίου και υποστηρικτικής τεχνολογίας
Για να επιτρέψετε στους χρήστες του πληκτρολογίου να ενεργοποιούν τα popover σας, θα πρέπει να τα προσθέσετε μόνο σε στοιχεία HTML που είναι παραδοσιακά εστιάσιμα στο πληκτρολόγιο και διαδραστικά (όπως σύνδεσμοι ή στοιχεία ελέγχου φορμών). Παρόλο που τα αυθαίρετα στοιχεία HTML (όπως το <span>
s) μπορούν να εστιαστούν με την προσθήκη του tabindex="0"
χαρακτηριστικού, αυτό θα προσθέσει δυνητικά ενοχλητικές και μπερδεμένες στηλοθέτες σε μη διαδραστικά στοιχεία για χρήστες πληκτρολογίου και οι περισσότερες υποστηρικτικές τεχνολογίες επί του παρόντος δεν ανακοινώνουν το περιεχόμενο του popover σε αυτήν την περίπτωση . Επιπλέον, μην βασίζεστε αποκλειστικά στο hover
έναυσμα για τα popover σας, καθώς αυτό θα καταστήσει αδύνατη την ενεργοποίησή τους για τους χρήστες πληκτρολογίου.
Ενώ μπορείτε να εισαγάγετε πλούσιο, δομημένο HTML σε popover με την html
επιλογή, σας συνιστούμε ανεπιφύλακτα να αποφύγετε την προσθήκη υπερβολικού όγκου περιεχομένου. Ο τρόπος με τον οποίο λειτουργούν τα popover επί του παρόντος είναι ότι, μόλις εμφανιστούν, το περιεχόμενό τους συνδέεται με το στοιχείο ενεργοποίησης με το aria-describedby
χαρακτηριστικό. Ως αποτέλεσμα, το σύνολο του περιεχομένου του popover θα ανακοινωθεί στους χρήστες υποστηρικτικής τεχνολογίας ως μια μεγάλη, αδιάλειπτη ροή.
Επιπλέον, ενώ είναι δυνατό να συμπεριλάβετε επίσης διαδραστικά στοιχεία ελέγχου (όπως στοιχεία φόρμας ή συνδέσμους) στο popover σας (προσθέτοντας αυτά τα στοιχεία στα allowList
επιτρεπόμενα χαρακτηριστικά και ετικέτες), έχετε υπόψη σας ότι επί του παρόντος το popover δεν διαχειρίζεται τη σειρά εστίασης του πληκτρολογίου. Όταν ένας χρήστης πληκτρολογίου ανοίγει ένα popover, η εστίαση παραμένει στο στοιχείο ενεργοποίησης και, καθώς το popover συνήθως δεν ακολουθεί αμέσως το έναυσμα στη δομή του εγγράφου, δεν υπάρχει καμία εγγύηση ότι η κίνηση προς τα εμπρός/πατώνταςTABθα μετακινήσει έναν χρήστη πληκτρολογίου στο ίδιο το popover. Εν ολίγοις, η απλή προσθήκη διαδραστικών στοιχείων ελέγχου σε ένα popover είναι πιθανό να καταστήσει αυτά τα στοιχεία απρόσιτα/μη χρησιμοποιήσιμα για τους χρήστες πληκτρολογίου και τους χρήστες υποστηρικτικών τεχνολογιών, ή τουλάχιστον θα δημιουργήσει μια παράλογη συνολική σειρά εστίασης. Σε αυτές τις περιπτώσεις, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε έναν τρόπο διαλόγου.
Επιλογές
Καθώς οι επιλογές μπορούν να μεταβιβαστούν μέσω χαρακτηριστικών δεδομένων ή JavaScript, μπορείτε να προσαρτήσετε ένα όνομα επιλογής στο data-bs-
, όπως στο data-bs-animation="{value}"
. Φροντίστε να αλλάξετε τον τύπο θήκης του ονόματος της επιλογής από « camelCase » σε « kebab-case » όταν μεταβιβάζετε τις επιλογές μέσω των χαρακτηριστικών δεδομένων. Για παράδειγμα, χρησιμοποιήστε data-bs-custom-class="beautifier"
αντί για data-bs-customClass="beautifier"
.
Από το Bootstrap 5.2.0, όλα τα στοιχεία υποστηρίζουν ένα πειραματικό χαρακτηριστικό δεσμευμένων δεδομένων data-bs-config
που μπορεί να φιλοξενήσει απλή διαμόρφωση στοιχείων ως συμβολοσειρά JSON. Όταν ένα στοιχείο έχει data-bs-config='{"delay":0, "title":123}'
και data-bs-title="456"
χαρακτηριστικά, η τελική title
τιμή θα είναι 456
και τα ξεχωριστά χαρακτηριστικά δεδομένων θα αντικαταστήσουν τις τιμές που δίνονται στο data-bs-config
. Επιπλέον, τα υπάρχοντα χαρακτηριστικά δεδομένων μπορούν να φιλοξενήσουν τιμές JSON όπως data-bs-delay='{"show":0,"hide":150}'
.
sanitize
,
sanitizeFn
, και
allowList
δεν μπορούν να παρασχεθούν χρησιμοποιώντας χαρακτηριστικά δεδομένων.
Ονομα | Τύπος | Προκαθορισμένο | Περιγραφή |
---|---|---|---|
allowList |
αντικείμενο | Προεπιλεγμένη τιμή | Αντικείμενο που περιέχει επιτρεπόμενα χαρακτηριστικά και ετικέτες. |
animation |
boolean | true |
Εφαρμόστε μια μετάβαση εξαφάνισης CSS στο popover. |
boundary |
χορδή, στοιχείο | 'clippingParents' |
Όριο περιορισμού υπερχείλισης του popover (ισχύει μόνο για τον τροποποιητή preventOverflow του Popper). Από προεπιλογή, είναι 'clippingParents' και μπορεί να δεχτεί μια αναφορά HTMLElement (μόνο μέσω JavaScript). Για περισσότερες πληροφορίες, ανατρέξτε στα έγγραφα του Popper detectOverflow . |
container |
συμβολοσειρά, στοιχείο, ψευδής | false |
Προσθέτει το popover σε ένα συγκεκριμένο στοιχείο. Παράδειγμα: container: 'body' . Αυτή η επιλογή είναι ιδιαίτερα χρήσιμη καθώς σας επιτρέπει να τοποθετήσετε το popover στη ροή του εγγράφου κοντά στο στοιχείο ενεργοποίησης - το οποίο θα εμποδίσει το popover να μετακινηθεί μακριά από το στοιχείο ενεργοποίησης κατά τη διάρκεια μιας αλλαγής μεγέθους παραθύρου. |
content |
συμβολοσειρά, στοιχείο, συνάρτηση | '' |
Προεπιλεγμένη τιμή περιεχομένου εάν data-bs-content το χαρακτηριστικό δεν υπάρχει. Εάν δοθεί μια συνάρτηση, θα κληθεί με το this σύνολο αναφοράς της στο στοιχείο στο οποίο είναι συνδεδεμένο το popover. |
customClass |
συμβολοσειρά, συνάρτηση | '' |
Προσθέστε κλάσεις στο popover όταν εμφανίζεται. Λάβετε υπόψη ότι αυτές οι κλάσεις θα προστεθούν επιπλέον των κλάσεων που καθορίζονται στο πρότυπο. Για να προσθέσετε πολλές κλάσεις, διαχωρίστε τις με κενά: 'class-1 class-2' . Μπορείτε επίσης να περάσετε μια συνάρτηση που θα πρέπει να επιστρέψει μια συμβολοσειρά που περιέχει επιπλέον ονόματα κλάσεων. |
delay |
αριθμός, αντικείμενο | 0 |
Καθυστέρηση εμφάνισης και απόκρυψης του popover (ms)—δεν ισχύει για τον τύπο μη αυτόματης ενεργοποίησης. Εάν παρέχεται ένας αριθμός, εφαρμόζεται καθυστέρηση και για την απόκρυψη/εμφάνιση. Η δομή του αντικειμένου είναι: delay: { "show": 500, "hide": 100 } . |
fallbackPlacements |
συμβολοσειρά, πίνακας | ['top', 'right', 'bottom', 'left'] |
Ορίστε εναλλακτικές τοποθετήσεις παρέχοντας μια λίστα τοποθετήσεων σε πίνακα (με σειρά προτίμησης). Για περισσότερες πληροφορίες, ανατρέξτε στα έγγραφα συμπεριφοράς του Popper . |
html |
boolean | false |
Να επιτρέπεται η HTML στο popover. Εάν ισχύει, οι ετικέτες HTML στα popover's title θα αποδοθούν στο popover. Εάν είναι false, η innerText ιδιότητα θα χρησιμοποιηθεί για την εισαγωγή περιεχομένου στο DOM. Χρησιμοποιήστε κείμενο εάν ανησυχείτε για επιθέσεις XSS. |
offset |
αριθμός, συμβολοσειρά, συνάρτηση | [0, 0] |
Αντιστάθμιση του popover σε σχέση με τον στόχο του. Μπορείτε να περάσετε μια συμβολοσειρά σε χαρακτηριστικά δεδομένων με τιμές διαχωρισμένες με κόμμα, όπως: data-bs-offset="10,20" . Όταν μια συνάρτηση χρησιμοποιείται για τον προσδιορισμό της μετατόπισης, καλείται με ένα αντικείμενο που περιέχει την τοποθέτηση popper, την αναφορά και το popper rects ως πρώτο όρισμα. Ο κόμβος DOM του στοιχείου ενεργοποίησης μεταβιβάζεται ως δεύτερο όρισμα. Η συνάρτηση πρέπει να επιστρέψει έναν πίνακα με δύο αριθμούς: ολίσθηση , απόσταση . Για περισσότερες πληροφορίες, ανατρέξτε στα έγγραφα μετατόπισης του Popper . |
placement |
συμβολοσειρά, συνάρτηση | 'top' |
Πώς να τοποθετήσετε το popover: αυτόματο, πάνω, κάτω, αριστερά, δεξιά. Όταν auto καθοριστεί, θα αναπροσανατολίσει δυναμικά το popover. Όταν μια συνάρτηση χρησιμοποιείται για τον προσδιορισμό της τοποθέτησης, καλείται με πρώτο όρισμα τον κόμβο DOM popover και δεύτερο τον κόμβο DOM στοιχείο ενεργοποίησης. Το this πλαίσιο ορίζεται στην περίπτωση popover. |
popperConfig |
null, αντικείμενο, συνάρτηση | null |
Για να αλλάξετε την προεπιλεγμένη διαμόρφωση Popper του Bootstrap, ανατρέξτε στη διαμόρφωση του Popper . Όταν μια συνάρτηση χρησιμοποιείται για τη δημιουργία της διαμόρφωσης Popper, καλείται με ένα αντικείμενο που περιέχει την προεπιλεγμένη διαμόρφωση Popper του Bootstrap. Σας βοηθά να χρησιμοποιήσετε και να συγχωνεύσετε την προεπιλογή με τη δική σας διαμόρφωση. Η συνάρτηση πρέπει να επιστρέψει ένα αντικείμενο διαμόρφωσης για το Popper. |
sanitize |
boolean | true |
Ενεργοποιήστε ή απενεργοποιήστε την απολύμανση. Εάν ενεργοποιηθεί 'template' , 'content' και 'title' οι επιλογές θα απολυμανθούν. |
sanitizeFn |
μηδενική, συνάρτηση | null |
Εδώ μπορείτε να παρέχετε τη δική σας λειτουργία απολύμανσης. Αυτό μπορεί να είναι χρήσιμο εάν προτιμάτε να χρησιμοποιήσετε μια αποκλειστική βιβλιοθήκη για να πραγματοποιήσετε απολύμανση. |
selector |
χορδή, ψευδής | false |
Εάν παρέχεται επιλογέας, τα αντικείμενα popover θα εκχωρηθούν στους καθορισμένους στόχους. Στην πράξη, αυτό χρησιμοποιείται επίσης για την εφαρμογή popover σε δυναμικά προστιθέμενα στοιχεία DOM ( jQuery.on υποστήριξη). Δείτε αυτό το τεύχος και ένα ενημερωτικό παράδειγμα . |
template |
σειρά | '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' |
Βάση HTML για χρήση κατά τη δημιουργία του popover. Το popover's title θα εγχυθεί στο .popover-inner . .popover-arrow θα γίνει το βέλος του popover. Το πιο εξωτερικό στοιχείο περιτυλίγματος θα πρέπει να έχει την .popover κλάση και role="popover" . |
title |
συμβολοσειρά, στοιχείο, συνάρτηση | '' |
Προεπιλεγμένη τιμή τίτλου εάν title το χαρακτηριστικό δεν υπάρχει. Εάν δοθεί μια συνάρτηση, θα κληθεί με το this σύνολο αναφοράς της στο στοιχείο στο οποίο είναι συνδεδεμένο το popover. |
trigger |
σειρά | 'hover focus' |
Πώς ενεργοποιείται το popover: κλικ, αιώρηση, εστίαση, μη αυτόματη. Μπορείτε να περάσετε πολλαπλούς ερεθισμούς. χωρίστε τα με ένα κενό. 'manual' υποδηλώνει ότι το popover θα ενεργοποιηθεί μέσω προγραμματισμού μέσω των μεθόδων και .popover('show') ; αυτή η τιμή δεν μπορεί να συνδυαστεί με κανένα άλλο έναυσμα. από μόνο του θα οδηγήσει σε popover που δεν μπορούν να ενεργοποιηθούν μέσω του πληκτρολογίου και θα πρέπει να χρησιμοποιούνται μόνο εάν υπάρχουν εναλλακτικές μέθοδοι για τη μετάδοση των ίδιων πληροφοριών για τους χρήστες του πληκτρολογίου..popover('hide') .popover('toggle') 'hover' |
Χαρακτηριστικά δεδομένων για μεμονωμένα popovers
Οι επιλογές για μεμονωμένα popover μπορούν εναλλακτικά να καθοριστούν μέσω της χρήσης των χαρακτηριστικών δεδομένων, όπως εξηγείται παραπάνω.
Χρήση της λειτουργίας μεpopperConfig
const popover = new bootstrap.Popover(element, {
popperConfig(defaultBsPopperConfig) {
// const newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Μέθοδοι
Ασύγχρονες μέθοδοι και μεταβάσεις
Όλες οι μέθοδοι API είναι ασύγχρονες και ξεκινούν μια μετάβαση . Επιστρέφουν στον καλούντα μόλις ξεκινήσει η μετάβαση αλλά πριν τελειώσει . Επιπλέον, μια κλήση μεθόδου σε ένα στοιχείο μετάβασης θα αγνοηθεί .
Δείτε την τεκμηρίωση JavaScript για περισσότερες πληροφορίες .
Μέθοδος | Περιγραφή |
---|---|
disable |
Καταργεί τη δυνατότητα εμφάνισης του popover ενός στοιχείου. Το popover θα μπορεί να εμφανιστεί μόνο εάν ενεργοποιηθεί ξανά. |
dispose |
Κρύβει και καταστρέφει το popover ενός στοιχείου (Καταργεί τα αποθηκευμένα δεδομένα στο στοιχείο DOM). Τα popover που χρησιμοποιούν ανάθεση (τα οποία δημιουργούνται χρησιμοποιώντας την selector επιλογή ) δεν μπορούν να καταστραφούν μεμονωμένα στα στοιχεία ενεργοποίησης καταγωγής. |
enable |
Δίνει στο popover ενός στοιχείου τη δυνατότητα να εμφανίζεται. Τα popover είναι ενεργοποιημένα από προεπιλογή. |
getInstance |
Στατική μέθοδος που σας επιτρέπει να λάβετε την εμφάνιση popover που σχετίζεται με ένα στοιχείο DOM. |
getOrCreateInstance |
Στατική μέθοδος που σας επιτρέπει να λάβετε το στιγμιότυπο popover που σχετίζεται με ένα στοιχείο DOM ή να δημιουργήσετε ένα νέο σε περίπτωση που δεν είχε αρχικοποιηθεί. |
hide |
Κρύβει το popover ενός στοιχείου. Επιστρέφει στον καλούντα πριν από την πραγματική απόκρυψη του popover (δηλαδή πριν συμβεί το hidden.bs.popover συμβάν). Αυτό θεωρείται μια «χειροκίνητη» ενεργοποίηση του popover. |
setContent |
Δίνει έναν τρόπο αλλαγής του περιεχομένου του popover μετά την προετοιμασία του. |
show |
Αποκαλύπτει το popover ενός στοιχείου. Επιστρέφει στον καλούντα πριν εμφανιστεί πραγματικά το popover (δηλαδή πριν συμβεί το shown.bs.popover συμβάν). Αυτό θεωρείται μια «χειροκίνητη» ενεργοποίηση του popover. Τα popover των οποίων ο τίτλος και το περιεχόμενο είναι και τα δύο μηδενικού μήκους δεν εμφανίζονται ποτέ. |
toggle |
Εναλλάσσει το popover ενός στοιχείου. Επιστρέφει στον καλούντα πριν εμφανιστεί ή κρυφτεί πραγματικά το popover (δηλαδή πριν συμβεί το shown.bs.popover ή το hidden.bs.popover συμβάν). Αυτό θεωρείται μια «χειροκίνητη» ενεργοποίηση του popover. |
toggleEnabled |
Εναλλάσσει τη δυνατότητα εμφάνισης ή απόκρυψης του popover ενός στοιχείου. |
update |
Ενημερώνει τη θέση του popover ενός στοιχείου. |
// getOrCreateInstance example
const popover = bootstrap.Popover.getOrCreateInstance('#example') // Returns a Bootstrap popover instance
// setContent example
myPopover.setContent({
'.popover-header': 'another title',
'.popover-body': 'another content'
})
setContent
μέθοδος δέχεται ένα
object
όρισμα, όπου κάθε κλειδί ιδιότητας είναι έγκυρος
string
επιλογέας εντός του προτύπου popover και κάθε σχετική τιμή ιδιότητας μπορεί να είναι
string
|
element
|
function
|
null
Εκδηλώσεις
Εκδήλωση | Περιγραφή |
---|---|
hide.bs.popover |
Αυτό το συμβάν ενεργοποιείται αμέσως μετά την hide κλήση της μεθόδου παρουσίας. |
hidden.bs.popover |
Αυτό το συμβάν ενεργοποιείται όταν ολοκληρωθεί η απόκρυψη του popover από τον χρήστη (θα περιμένει να ολοκληρωθούν οι μεταβάσεις CSS). |
inserted.bs.popover |
Αυτό το συμβάν ενεργοποιείται μετά το show.bs.popover συμβάν όταν το πρότυπο popover έχει προστεθεί στο DOM. |
show.bs.popover |
Αυτό το συμβάν ενεργοποιείται αμέσως όταν show καλείται η μέθοδος παρουσίας. |
shown.bs.popover |
Αυτό το συμβάν ενεργοποιείται όταν το popover έχει γίνει ορατό στον χρήστη (θα περιμένει να ολοκληρωθούν οι μεταβάσεις CSS). |
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
// do something...
})