Chuyển đến nội dung chính Chuyển đến điều hướng tài liệu
Check
in English

Popovers

Tài liệu và ví dụ để thêm các cửa sổ bật lên Bootstrap, như các cửa sổ bật lên được tìm thấy trong iOS, vào bất kỳ phần tử nào trên trang web của bạn.

Tổng quan

Những điều cần biết khi sử dụng plugin popover:

  • Popover dựa vào thư viện bên thứ ba Popper để định vị. Bạn phải bao gồm popper.min.js trước đó bootstrap.jshoặc sử dụng một trong bootstrap.bundle.min.jsđó có Popper.
  • Popover yêu cầu plugin popover như một phần phụ thuộc.
  • Cửa sổ bật lên được chọn tham gia vì lý do hiệu suất, vì vậy bạn phải tự khởi tạo chúng .
  • Độ dài bằng 0 titlecontentcác giá trị sẽ không bao giờ hiển thị cửa sổ bật lên.
  • Chỉ định container: 'body'để tránh các sự cố hiển thị trong các thành phần phức tạp hơn (như nhóm đầu vào, nhóm nút của chúng tôi, v.v.).
  • Kích hoạt cửa sổ bật lên trên các phần tử ẩn sẽ không hoạt động.
  • Cửa sổ bật lên cho .disabledhoặc disabledcác phần tử phải được kích hoạt trên một phần tử trình bao bọc.
  • Khi được kích hoạt từ các neo bao quanh nhiều dòng, các cửa sổ bật lên sẽ được căn giữa giữa chiều rộng tổng thể của các neo. Sử dụng .text-nowraptrên <a>s của bạn để tránh hành vi này.
  • Các cửa sổ bật lên phải được ẩn trước khi các phần tử tương ứng của chúng bị xóa khỏi DOM.
  • Popover có thể được kích hoạt nhờ vào một phần tử bên trong Shadow DOM.
Theo mặc định, thành phần này sử dụng trình vệ sinh nội dung tích hợp, loại bỏ bất kỳ phần tử HTML nào không được phép rõ ràng. Xem phần sanitizer trong tài liệu JavaScript của chúng tôi để biết thêm chi tiết.
Hiệu ứng hoạt ảnh của thành phần này phụ thuộc vào prefers-reduced-motiontruy vấn phương tiện. Xem phần chuyển động giảm trong tài liệu hỗ trợ tiếp cận của chúng tôi .

Hãy tiếp tục đọc để biết cách hoạt động của các cửa sổ bật lên với một số ví dụ.

Các ví dụ

Bật cửa sổ bật lên

Như đã đề cập ở trên, bạn phải khởi tạo các cửa sổ bật lên trước khi chúng có thể được sử dụng. Một cách để khởi tạo tất cả các cửa sổ bật lên trên một trang là chọn chúng theo data-bs-togglethuộc tính của chúng, như sau:

const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))

Bản thử trực tiếp

Chúng tôi sử dụng JavaScript tương tự như đoạn mã ở trên để hiển thị cửa sổ bật lên trực tiếp sau đây. Tiêu đề được đặt qua data-bs-titlevà nội dung nội dung được đặt qua data-bs-content.

Hãy thoải mái sử dụng titlehoặc data-bs-titletrong HTML của bạn. Khi nào titleđược sử dụng, Popper sẽ tự động thay thế nó bằng data-bs-titlekhi phần tử được hiển thị.
html
<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>

Bốn hướng

Bốn tùy chọn có sẵn: trên cùng, bên phải, dưới cùng và bên trái. Chỉ đường được phản chiếu khi sử dụng Bootstrap trong RTL. Đặt data-bs-placementđể thay đổi hướng.

html
<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>

Phong tụccontainer

Khi bạn có một số kiểu trên phần tử mẹ cản trở cửa sổ bật lên, bạn sẽ muốn chỉ định một tùy chỉnh containerđể HTML của cửa sổ bật lên xuất hiện bên trong phần tử đó. Điều này phổ biến trong các bảng đáp ứng, nhóm đầu vào và những thứ tương tự.

const popover = new bootstrap.Popover('.example-popover', {
  container: 'body'
})

Một tình huống khác mà bạn sẽ muốn đặt một tùy chỉnh rõ ràng containerlà các cửa sổ bật lên bên trong hộp thoại phương thức , để đảm bảo rằng bản thân cửa sổ bật lên đó được thêm vào phương thức. Điều này đặc biệt quan trọng đối với các cửa sổ bật lên có chứa các yếu tố tương tác - hộp thoại phương thức sẽ bẫy tiêu điểm, vì vậy trừ khi cửa sổ bật lên là một phần tử con của phương thức, người dùng sẽ không thể tập trung hoặc kích hoạt các phần tử tương tác này.

const popover = new bootstrap.Popover('.example-popover', {
  container: '.modal-body'
})

Cửa sổ bật lên tùy chỉnh

Đã thêm vào v5.2.0

Bạn có thể tùy chỉnh giao diện của các cửa sổ bật lên bằng cách sử dụng các biến CSS . Chúng tôi đặt một lớp tùy chỉnh với data-bs-custom-class="custom-popover"phạm vi giao diện tùy chỉnh của chúng tôi và sử dụng nó để ghi đè một số biến CSS cục bộ.

.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;
}
html
<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>

Bỏ qua trong lần nhấp tiếp theo

Sử dụng trình focuskích hoạt để loại bỏ các cửa sổ bật lên trong lần nhấp tiếp theo của người dùng vào một phần tử khác với phần tử bật tắt.

Đánh dấu cụ thể cần thiết để loại bỏ khi nhấp chuột tiếp theo

Để có hành vi trên nhiều trình duyệt và nền tảng phù hợp, bạn phải sử dụng thẻ <a>, không phải<button> thẻ và bạn cũng phải bao gồm một tabindexthuộc tính.

html
<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'
})

Các phần tử bị vô hiệu hóa

Các phần tử có disabledthuộc tính không tương tác, có nghĩa là người dùng không thể di chuột hoặc nhấp vào chúng để kích hoạt cửa sổ bật lên (hoặc chú giải công cụ). Để giải quyết vấn đề này, bạn sẽ muốn kích hoạt cửa sổ bật lên từ trình bao bọc <div>hoặc <span>lý tưởng là có thể lấy tiêu điểm bằng bàn phím tabindex="0".

Đối với trình kích hoạt cửa sổ bật lên bị tắt, bạn cũng có thể muốn data-bs-trigger="hover focus"cửa sổ bật lên xuất hiện dưới dạng phản hồi trực quan ngay lập tức cho người dùng của bạn vì họ có thể không mong đợi nhấp vào phần tử bị vô hiệu hóa.

html
<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

Biến

Đã thêm vào v5.2.0

Là một phần của phương pháp tiếp cận các biến CSS đang phát triển của Bootstrap, các cửa sổ bật lên hiện sử dụng các biến CSS cục bộ trên .popoverđể tùy chỉnh thời gian thực nâng cao. Giá trị cho các biến CSS được đặt thông qua Sass, do đó, tùy chỉnh Sass cũng vẫn được hỗ trợ.

  --#{$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);
  

Biến 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;

Cách sử dụng

Bật cửa sổ bật lên qua JavaScript:

const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)

Làm cho c���a sổ bật lên hoạt động đối với người dùng bàn phím và công nghệ hỗ trợ

Để cho phép người dùng bàn phím kích hoạt cửa sổ bật lên của bạn, bạn chỉ nên thêm chúng vào các phần tử HTML truyền thống có thể lấy tiêu điểm và tương tác với bàn phím (chẳng hạn như liên kết hoặc điều khiển biểu mẫu). Mặc dù các phần tử HTML tùy ý (chẳng hạn như <span>các) có thể được đặt tiêu điểm bằng cách thêm tabindex="0"thuộc tính, điều này sẽ thêm các điểm dừng tab có thể gây khó chịu và khó hiểu trên các phần tử không tương tác cho người dùng bàn phím và hầu hết các công nghệ hỗ trợ hiện không thông báo nội dung của cửa sổ bật lên trong tình huống này . Ngoài ra, đừng chỉ dựa vào hoverlàm trình kích hoạt cho các cửa sổ bật lên của bạn, vì điều này sẽ khiến chúng không thể kích hoạt cho người dùng bàn phím.

Mặc dù bạn có thể chèn HTML có cấu trúc, phong phú vào các cửa sổ bật lên với htmltùy chọn này, chúng tôi thực sự khuyên bạn nên tránh thêm quá nhiều nội dung. Cách hoạt động của cửa sổ bật lên hiện tại là, sau khi được hiển thị, nội dung của chúng được gắn với phần tử trình kích hoạt có aria-describedbythuộc tính. Do đó, toàn bộ nội dung của cửa sổ bật lên sẽ được thông báo cho người dùng công nghệ hỗ trợ dưới dạng một luồng dài, không bị gián đoạn.

Ngoài ra, mặc dù cũng có thể bao gồm các điều khiển tương tác (chẳng hạn như các phần tử biểu mẫu hoặc liên kết) trong cửa sổ bật lên của bạn (bằng cách thêm các phần tử này vào các allowListthuộc tính và thẻ được phép), hãy lưu ý rằng hiện tại cửa sổ bật lên không quản lý thứ tự tiêu điểm bàn phím. Khi người dùng bàn phím mở một cửa sổ bật lên, tiêu điểm vẫn ở phần tử kích hoạt và vì cửa sổ bật lên thường không ngay lập tức theo trình kích hoạt trong cấu trúc của tài liệu, không có gì đảm bảo rằng việc di chuyển tiếp / nhấnTABsẽ di chuyển người dùng bàn phím vào chính cửa sổ bật lên. Nói tóm lại, chỉ cần thêm các điều khiển tương tác vào cửa sổ bật lên có thể khiến các điều khiển này không thể truy cập / không sử dụng được đối với người dùng bàn phím và người dùng công nghệ hỗ trợ, hoặc ít nhất là tạo ra một trật tự tiêu điểm tổng thể phi logic. Trong những trường hợp này, hãy xem xét sử dụng hộp thoại phương thức để thay thế.

Tùy chọn

Vì các tùy chọn có thể được chuyển qua thuộc tính dữ liệu hoặc JavaScript, bạn có thể thêm tên tùy chọn vào data-bs-, như trong data-bs-animation="{value}". Đảm bảo thay đổi kiểu chữ hoa của tên tùy chọn từ “ camelCase ” thành “ kebab-case ” khi chuyển các tùy chọn qua thuộc tính dữ liệu. Ví dụ, sử dụng data-bs-custom-class="beautifier"thay vì data-bs-customClass="beautifier".

Kể từ Bootstrap 5.2.0, tất cả các thành phần đều hỗ trợ thuộc tính dữ liệu dành riêng thử nghiệmdata-bs-config có thể chứa cấu hình thành phần đơn giản dưới dạng chuỗi JSON. Khi một phần tử có data-bs-config='{"delay":0, "title":123}'data-bs-title="456"các thuộc tính, titlegiá trị cuối cùng sẽ là 456và các thuộc tính dữ liệu riêng biệt sẽ ghi đè các giá trị được cho trên data-bs-config. Ngoài ra, các thuộc tính dữ liệu hiện có có thể chứa các giá trị JSON như data-bs-delay='{"show":0,"hide":150}'.

Lưu ý rằng vì lý do bảo mật sanitize, các tùy chọn sanitizeFnvà và allowListkhông thể được cung cấp bằng các thuộc tính dữ liệu.
Tên Loại hình Mặc định Sự mô tả
allowList sự vật Giá trị mặc định Đối tượng chứa các thuộc tính và thẻ được phép.
animation boolean true Áp dụng một quá trình chuyển đổi mờ dần CSS cho cửa sổ bật lên.
boundary chuỗi, phần tử 'clippingParents' Ranh giới ràng buộc tràn của cửa sổ bật lên (chỉ áp dụng cho công cụ sửa đổi ngăn chặn của Popper). Theo mặc định, nó 'clippingParents'và có thể chấp nhận một tham chiếu HTMLElement (chỉ qua JavaScript). Để biết thêm thông tin, hãy tham khảo tài liệu DetOverflow của Popper .
container chuỗi, phần tử, sai false Thêm cửa sổ bật lên cho một phần tử cụ thể. container: 'body'Ví dụ :. Tùy chọn này đặc biệt hữu ích ở chỗ nó cho phép bạn định vị cửa sổ bật lên trong luồng tài liệu gần phần tử kích hoạt - điều này sẽ ngăn cửa sổ bật lên trôi ra khỏi phần tử kích hoạt trong quá trình thay đổi kích thước cửa sổ.
content chuỗi, phần tử, hàm '' Giá trị nội dung mặc định nếu data-bs-contentthuộc tính không có. Nếu một hàm được cung cấp, nó sẽ được gọi với thistập tham chiếu của nó tới phần tử mà cửa sổ bật lên được gắn vào.
customClass chuỗi, hàm '' Thêm các lớp vào cửa sổ bật lên khi nó được hiển thị. Lưu ý rằng các lớp này sẽ được thêm vào ngoài bất kỳ lớp nào được chỉ định trong mẫu. Để thêm nhiều lớp, hãy phân tách chúng bằng dấu cách 'class-1 class-2':. Bạn cũng có thể chuyển một hàm sẽ trả về một chuỗi đơn chứa các tên lớp bổ sung.
delay số lượng, đối tượng 0 Độ trễ hiển thị và ẩn cửa sổ bật lên (mili giây) —không áp dụng cho loại trình kích hoạt thủ công. Nếu một số được cung cấp, độ trễ được áp dụng cho cả ẩn / hiện. delay: { "show": 500, "hide": 100 }Cấu trúc đối tượng là:.
fallbackPlacements chuỗi, mảng ['top', 'right', 'bottom', 'left'] Xác định vị trí dự phòng bằng cách cung cấp danh sách các vị trí trong mảng (theo thứ tự ưu tiên). Để biết thêm thông tin, hãy tham khảo tài liệu về hành vi của Popper .
html boolean false Cho phép HTML trong cửa sổ bật lên. Nếu đúng, các thẻ HTML trong cửa sổ bật lên titlesẽ được hiển thị trong cửa sổ bật lên. Nếu sai, innerTextthuộc tính sẽ được sử dụng để chèn nội dung vào DOM. Sử dụng văn bản nếu bạn lo lắng về các cuộc tấn công XSS.
offset số, chuỗi, hàm [0, 0] Phần bù của cửa sổ bật lên so với mục tiêu của nó. data-bs-offset="10,20"Bạn có thể chuyển một chuỗi vào thuộc tính dữ liệu với các giá trị được phân tách bằng dấu phẩy như:. Khi một hàm được sử dụng để xác định độ lệch, nó được gọi với một đối tượng chứa vị trí popper, tham chiếu và popper đóng vai trò là đối số đầu tiên của nó. Nút DOM của phần tử kích hoạt được chuyển làm đối số thứ hai. Hàm phải trả về một mảng có hai số: độ trượt , khoảng cách . Để biết thêm thông tin, hãy tham khảo tài liệu bù đắp của Popper .
placement chuỗi, hàm 'top' Cách định vị cửa sổ bật lên: tự động, trên, dưới, trái, phải. Khi autođược chỉ định, nó sẽ tự động định hướng lại cửa sổ bật lên. Khi một hàm được sử dụng để xác định vị trí, nó được gọi với nút DOM popover làm đối số đầu tiên và nút DOM phần tử kích hoạt là nút thứ hai của nó. Bối thiscảnh được đặt thành phiên bản popover.
popperConfig null, đối tượng, chức năng null Để thay đổi cấu hình Popper mặc định của Bootstrap, hãy xem cấu hình của Popper . Khi một hàm được sử dụng để tạo cấu hình Popper, nó được gọi với một đối tượng có chứa cấu hình Popper mặc định của Bootstrap. Nó giúp bạn sử dụng và hợp nhất mặc định với cấu hình của riêng bạn. Hàm phải trả về một đối tượng cấu hình cho Popper.
sanitize boolean true Bật hoặc tắt tính năng vệ sinh. Nếu được kích hoạt 'template', 'content''title'các tùy chọn sẽ được làm sạch.
sanitizeFn null, hàm null Tại đây bạn có thể cung cấp chức năng khử trùng của riêng mình. Điều này có thể hữu ích nếu bạn muốn sử dụng một thư viện chuyên dụng để thực hiện vệ sinh.
selector chuỗi, sai false Nếu một bộ chọn được cung cấp, các đối tượng bật lên sẽ được ủy quyền cho các mục tiêu được chỉ định. Trong thực tế, điều này cũng được sử dụng để áp dụng các cửa sổ bật lên cho các phần tử DOM được thêm động ( jQuery.onhỗ trợ). Xem vấn đề nàymột ví dụ thông tin .
template sợi dây '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' HTML cơ sở để sử dụng khi tạo cửa sổ bật lên. Cửa sổ bật lên titlesẽ được tiêm vào .popover-inner. .popover-arrowsẽ trở thành mũi tên của cửa sổ bật lên. Phần tử bao bọc ngoài cùng phải có .popoverlớp và role="popover".
title chuỗi, phần tử, hàm '' Giá trị tiêu đề mặc định nếu titlethuộc tính không có. Nếu một hàm được cung cấp, nó sẽ được gọi với thistập tham chiếu của nó tới phần tử mà cửa sổ bật lên được gắn vào.
trigger sợi dây 'hover focus' Cách kích hoạt cửa sổ bật lên: nhấp chuột, di chuột, tiêu điểm, thủ công. Bạn có thể vượt qua nhiều lần kích hoạt; ngăn cách chúng bằng một khoảng trắng. 'manual'chỉ ra rằng cửa sổ bật lên sẽ được kích hoạt theo chương trình thông qua .popover('show'), .popover('hide').popover('toggle')các phương thức; giá trị này không thể được kết hợp với bất kỳ trình kích hoạt nào khác. 'hover'riêng nó sẽ dẫn đến các cửa sổ bật lên không thể được kích hoạt qua bàn phím và chỉ nên được sử dụng nếu có các phương pháp thay thế để truyền tải cùng một thông tin cho người dùng bàn phím.

Thuộc tính dữ liệu cho các cửa sổ bật lên riêng lẻ

Các tùy chọn cho các cửa sổ bật lên riêng lẻ có thể được chỉ định theo cách khác thông qua việc sử dụng các thuộc tính dữ liệu, như đã giải thích ở trên.

Sử dụng chức năng vớipopperConfig

const popover = new bootstrap.Popover(element, {
  popperConfig(defaultBsPopperConfig) {
    // const newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

Phương pháp

Các phương thức và chuyển tiếp không đồng bộ

Tất cả các phương thức API là không đồng bộ và bắt đầu quá trình chuyển đổi . Họ quay lại người gọi ngay sau khi quá trình chuyển đổi được bắt đầu nhưng trước khi quá trình chuyển đổi kết thúc . Ngoài ra, một lệnh gọi phương thức trên một thành phần chuyển tiếp sẽ bị bỏ qua .

Xem tài liệu JavaScript của chúng tôi để biết thêm thông tin .

Phương pháp Sự mô tả
disable Loại bỏ khả năng hiển thị cửa sổ bật lên của một phần tử. Cửa sổ bật lên sẽ chỉ có thể được hiển thị nếu nó được bật lại.
dispose Ẩn và phá hủy cửa sổ bật lên của phần tử (Xóa dữ liệu được lưu trữ trên phần tử DOM). Các cửa sổ bật lên sử dụng ủy quyền (được tạo bằng cách sử dụng tùy selectorchọn ) không thể bị hủy riêng lẻ trên các phần tử kích hoạt con cháu.
enable Cung cấp khả năng hiển thị cửa sổ bật lên của một phần tử. Các cửa sổ bật lên được bật theo mặc định.
getInstance Phương thức static cho phép bạn lấy phiên bản popover được liên kết với một phần tử DOM.
getOrCreateInstance Phương thức static cho phép bạn lấy phiên bản popover được liên kết với một phần tử DOM hoặc tạo một phiên bản mới trong trường hợp nó chưa được khởi tạo.
hide Ẩn cửa sổ bật lên của một phần tử. Trả về người gọi trước khi cửa sổ bật lên thực sự bị ẩn (tức là trước khi hidden.bs.popoversự kiện xảy ra). Đây được coi là một "thủ công" kích hoạt cửa sổ bật lên.
setContent Cung cấp một cách để thay đổi nội dung của cửa sổ bật lên sau khi khởi tạo.
show Hiển thị cửa sổ bật lên của một phần tử. Trả về người gọi trước khi cửa sổ bật lên thực sự được hiển thị (tức là trước khi shown.bs.popoversự kiện xảy ra). Đây được coi là một "thủ công" kích hoạt cửa sổ bật lên. Các cửa sổ bật lên có tiêu đề và nội dung đều có độ dài bằng 0 sẽ không bao giờ được hiển thị.
toggle Chuyển đổi cửa sổ bật lên của một phần tử. Trả về người gọi trước khi cửa sổ bật lên thực sự được hiển thị hoặc bị ẩn (tức là trước khi sự kiện shown.bs.popoverhoặc hidden.bs.popoversự kiện xảy ra). Đây được coi là một "thủ công" kích hoạt cửa sổ bật lên.
toggleEnabled Chuyển đổi khả năng hiển thị hoặc ẩn cửa sổ bật lên của một phần tử.
update Cập nhật vị trí của cửa sổ bật lên của một phần tử.
// 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'
})
Phương setContentthức chấp nhận một objectđối số, trong đó mỗi khóa thuộc tính là một stringbộ chọn hợp lệ trong mẫu cửa sổ bật lên và mỗi giá trị thuộc tính liên quan có thể là string| element| function| null

Sự kiện

Biến cố Sự mô tả
hide.bs.popover Sự kiện này được kích hoạt ngay lập tức khi hidephương thức thể hiện đã được gọi.
hidden.bs.popover Sự kiện này được kích hoạt khi cửa sổ bật lên hoàn tất bị ẩn khỏi người dùng (sẽ đợi quá trình chuyển đổi CSS hoàn tất).
inserted.bs.popover Sự kiện này được kích hoạt sau show.bs.popoversự kiện khi mẫu cửa sổ bật lên đã được thêm vào DOM.
show.bs.popover Sự kiện này kích hoạt ngay lập tức khi showphương thức thể hiện được gọi.
shown.bs.popover Sự kiện này được kích hoạt khi cửa sổ bật lên hiển thị cho người dùng (sẽ đợi quá trình chuyển đổi CSS hoàn tất).
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})