Chú giải công cụ
Tài liệu và ví dụ để thêm chú giải công cụ Bootstrap tùy chỉnh với CSS và JavaScript bằng cách sử dụng CSS3 cho hoạt ảnh và thuộc tính dữ liệu để lưu trữ tiêu đề cục bộ.
Tổng quan
Những điều cần biết khi sử dụng plugin chú giải công cụ:
- Chú giải công cụ dựa vào thư viện bên thứ 3 Popper.js để định vị. Bạn phải bao gồm popper.min.js trước bootstrap.js hoặc sử dụng
bootstrap.bundle.min.js
/bootstrap.bundle.js
có chứa Popper.js để chú giải công cụ hoạt động! - Nếu bạn đang xây dựng JavaScript của chúng tôi từ nguồn, nó yêu cầu
util.js
. - Chú giải công cụ đượ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 .
- Chú giải công cụ có tiêu đề dài bằng 0 không bao giờ được hiển thị.
- 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 chú giải công cụ trên các phần tử ẩn sẽ không hoạt động.
- Chú giải công cụ cho
.disabled
hoặcdisabled
cá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 siêu liên kết trải dài nhiều dòng, chú giải công cụ sẽ được căn giữa. Sử dụng
white-space: nowrap;
trên<a>
s của bạn để tránh hành vi này. - Chú giải công cụ 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.
- Chú giải công cụ có thể được kích hoạt nhờ vào một phần tử bên trong DOM bóng.
Hiệu ứng hoạt ảnh của thành phần này phụ thuộc vào prefers-reduced-motion
truy 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 .
Có tất cả những điều đó? Tuyệt vời, hãy xem chúng hoạt động như thế nào với một số ví dụ.
Ví dụ: Bật chú giải công cụ ở mọi nơi
Một cách để khởi tạo tất cả các chú giải công cụ trên một trang là chọn chúng theo data-toggle
thuộc tính của chúng:
Các ví dụ
Di chuột qua các liên kết bên dưới để xem các chú giải công cụ:
Những chiếc quần bó sát cấp độ tiếp theo có thể bạn chưa từng nghe nói về chúng. Ảnh gian hàng râu vải thô denim letterpress túi đưa tin thuần chay stumptown. Seitan từ trang trại đến bàn ăn, quần áo Mỹ 8-bit quinoa bền vững fixie của mcsweeney có một chambray vinyl richardson terry. Beard stumptown, cardigans banh mi lomo Thundercats. Đậu phụ diesel sinh học williamsburg marfa, bánh chambray thuần chay làm sạch 4 loko mcsweeney. Một nghệ nhân thực sự mỉa mai bất cứ thứ gì keytar , scenester farm-to-table banky Austin twitter xử lý virus cà phê nguyên liệu denim freegan.
Di chuột qua các nút bên dưới để xem bốn hướng của chú giải công cụ: trên cùng, bên phải, dưới cùng và bên trái.
Và với HTML tùy chỉnh được thêm vào:
Cách sử dụng
Plugin chú giải công cụ tạo nội dung và đánh dấu theo yêu cầu và theo mặc định đặt chú giải công cụ sau phần tử kích hoạt của chúng.
Kích hoạt chú giải công cụ qua JavaScript:
Tràn auto
vàscroll
Vị trí chú giải công cụ cố gắng tự động thay đổi khi vùng chứa chính có overflow: auto
hoặc overflow: scroll
giống như của chúng tôi .table-responsive
, nhưng vẫn giữ vị trí của vị trí ban đầu. Để giải quyết, hãy đặt boundary
tùy chọn thành bất kỳ thứ gì khác với giá trị mặc định 'scrollParent'
, chẳng hạn như 'window'
:
Đánh dấu
Đánh dấu bắt buộc cho chú giải công cụ chỉ là một data
thuộc tính và title
trên phần tử HTML mà bạn muốn có chú giải công cụ. Đánh dấu được tạo của chú giải công cụ khá đơn giản, mặc dù nó yêu cầu một vị trí (theo mặc định, được đặt thành top
bởi plugin).
Làm cho chú giải công cụ hoạt động cho người dùng bàn phím và công nghệ hỗ trợ
Bạn chỉ nên thêm chú giải công cụ vào các phần tử HTML truyền thống có thể lấy tiêu điểm bằng bàn phím và tương tác (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. Ngoài ra, hầu hết các công nghệ hỗ trợ hiện không công bố chú giải công cụ trong tình huống này.
Ngoài ra, đừng chỉ dựa vào hover
làm trình kích hoạt cho chú giải công cụ của bạn, vì điều này sẽ khiến chú giải công cụ của bạn không thể kích hoạt cho người dùng bàn phím.
Các phần tử bị vô hiệu hóa
Các phần tử có disabled
thuộc tính không tương tác, có nghĩa là người dùng không thể tập trung, di chuột hoặc nhấp vào chúng để kích hoạt chú giải công cụ (hoặc cửa sổ bật lên). Để giải quyết vấn đề này, bạn sẽ muốn kích hoạt chú giải công cụ từ mộ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 bằng cách sử dụng tabindex="0"
và ghi đè lên pointer-events
phần tử bị vô hiệu hóa.
Tùy chọn
Các tùy chọn có thể được chuyển qua các thuộc tính dữ liệu hoặc JavaScript. Đối với các thuộc tính dữ liệu, hãy nối tên tùy chọn vào data-
, như trong data-animation=""
.
Tên | Loại hình | Mặc định | Sự mô tả |
---|---|---|---|
hoạt hình | boolean | thật | Áp dụng chuyển đổi mờ dần CSS cho chú giải công cụ |
thùng đựng hàng | chuỗi | phần tử | sai | sai | Thêm chú giải công cụ vào một phần tử cụ thể. |
sự chậm trễ | số | sự vật | 0 | Độ trễ hiển thị và ẩn chú giải công cụ (mili giây) - không áp dụng cho loại 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 Cấu trúc đối tượng là: |
html | boolean | sai | Cho phép HTML trong chú giải công cụ. Nếu đúng, các thẻ HTML trong chú giải công cụ Sử dụng văn bản nếu bạn lo lắng về các cuộc tấn công XSS. |
vị trí | chuỗi | hàm số | 'đứng đầu' | Cách định vị chú giải công cụ - tự động | đầu trang | đáy | trái | bên phải. Khi một hàm được sử dụng để xác định vị trí, nó được gọi với nút DOM của chú giải công cụ 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 |
bộ chọn | chuỗi | sai | sai | Nếu một bộ chọn được cung cấp, các đối tượng chú giải công cụ 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 chú giải công cụ cho các phần tử DOM được thêm động ( jQuery.on hỗ trợ). Xem điều này và một ví dụ thông tin . |
mẫu | sợi dây | '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>' |
HTML cơ sở để sử dụng khi tạo chú giải công cụ. Chú giải công cụ
Phần tử bao bọc ngoài cùng phải có |
Tiêu đề | chuỗi | phần tử | hàm số | '' | Giá trị tiêu đề mặc định nếu Nếu một hàm được cung cấp, nó sẽ được gọi với |
Kích hoạt | sợi dây | 'di chuột tiêu điểm' | Cách kích hoạt chú giải công cụ - nhấp vào | di chuột qua | 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.
|
bù lại | số | sợi dây | 0 | Phần bù của chú giải công cụ so với mục tiêu của nó. Để biết thêm thông tin, hãy tham khảo tài liệu bù đắp của Popper.js . |
dự phòng | chuỗi | mảng | 'lật' | Cho phép chỉ định vị trí mà Popper sẽ sử dụng khi dự phòng. Để biết thêm thông tin, hãy tham khảo tài liệu về hành vi của Popper.js |
ranh giới | chuỗi | yếu tố | 'scrollParent' | Ranh giới ràng buộc tràn của chú giải công cụ. Chấp nhận các giá trị của , 'viewport' hoặc một tham chiếu HTMLElement (chỉ JavaScript). Để biết thêm thông tin, hãy tham khảo tài liệu ngăn chặn dòng chảy của Popper.js .'window' 'scrollParent' |
Thuộc tính dữ liệu cho các chú giải công cụ riêng lẻ
Ngoài ra, các tùy chọn cho chú giải công cụ riêng lẻ có thể được chỉ định thông qua việc sử dụng các thuộc tính dữ liệu, như đã giải thích ở trên.
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 .
$().tooltip(options)
Đính kèm trình xử lý chú giải công cụ vào tập hợp phần tử.
.tooltip('show')
Tiết lộ chú giải công cụ của một phần tử. Trả về trình gọi trước khi chú giải công cụ thực sự được hiển thị (tức là trước khi shown.bs.tooltip
sự kiện xảy ra). Đây được coi là cách kích hoạt "thủ công" của chú giải công cụ. Chú giải công cụ có tiêu đề dài bằng 0 không bao giờ được hiển thị.
.tooltip('hide')
Ẩn chú giải công cụ của phần tử. Trả về trình gọi trước khi chú giải công cụ thực sự bị ẩn (tức là trước khi hidden.bs.tooltip
sự kiện xảy ra). Đây được coi là cách kích hoạt "thủ công" của chú giải công cụ.
.tooltip('toggle')
Chuyển đổi chú giải công cụ của phần tử. Trả về trình gọi trước khi chú giải công cụ thực sự được hiển thị hoặc bị ẩn (nghĩa là trước khi sự kiện shown.bs.tooltip
hoặc hidden.bs.tooltip
sự kiện xảy ra). Đây được coi là cách kích hoạt "thủ công" của chú giải công cụ.
.tooltip('dispose')
Ẩn và hủy chú giải công cụ của phần tử. Chú giải công cụ sử dụng ủy quyền (được tạo bằng cách sử dụng tùy selector
chọn ) không thể bị hủy riêng lẻ trên các phần tử kích hoạt con.
.tooltip('enable')
Cung cấp cho chú giải công cụ của một phần tử khả năng được hiển thị. Chú giải công cụ được bật theo mặc định.
.tooltip('disable')
Loại bỏ khả năng hiển thị chú giải công cụ của phần tử. Chú giải công cụ sẽ chỉ có thể được hiển thị nếu nó được bật lại.
.tooltip('toggleEnabled')
Chuyển đổi khả năng hiển thị hoặc ẩn chú giải công cụ của phần tử.
.tooltip('update')
Cập nhật vị trí của chú giải công cụ của phần tử.
Sự kiện
Loại sự kiện | Sự mô tả |
---|---|
show.bs.tooltip | Sự kiện này kích hoạt ngay lập tức khi show phương thức thể hiện được gọi. |
show.bs.tooltip | Sự kiện này được kích hoạt khi chú giải công cụ đã được hiển thị cho người dùng (sẽ đợi quá trình chuyển đổi CSS hoàn tất). |
hide.bs.tooltip | Sự kiện này được kích hoạt ngay lập tức khi hide phương thức thể hiện đã được gọi. |
hidden.bs.tooltip | Sự kiện này được kích hoạt khi chú giải công cụ 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). |
insert.bs.tooltip | Sự kiện này được kích hoạt sau show.bs.tooltip sự kiện khi mẫu chú giải công cụ đã được thêm vào DOM. |