เคล็ดลับเครื่องมือ
เอกสารประกอบและตัวอย่างสำหรับการเพิ่มคำแนะนำเครื่องมือ Bootstrap แบบกำหนดเองด้วย CSS และ JavaScript โดยใช้ CSS3 สำหรับภาพเคลื่อนไหวและ data-bs-attributes สำหรับการจัดเก็บชื่อในเครื่อง
ภาพรวม
สิ่งที่ควรทราบเมื่อใช้ปลั๊กอินคำแนะนำเครื่องมือ:
- คำแนะนำเครื่องมือใช้ Popperห้องสมุดบุคคลที่สามสำหรับการวางตำแหน่ง คุณต้องใส่popper.min.jsก่อน
bootstrap.js
หรือใช้อันbootstrap.bundle.min.js
ที่มี Popper - คำแนะนำเครื่องมือเป็นทางเลือกสำหรับเหตุผลด้านประสิทธิภาพ ดังนั้นคุณต้องเริ่มต้นด้วยตนเอง
- คำแนะนำเครื่องมือที่มีชื่อความยาวเป็นศูนย์จะไม่แสดงขึ้น
- ระบุ
container: 'body'
เพื่อหลีกเลี่ยงปัญหาการแสดงผลในองค์ประกอบที่ซับซ้อนมากขึ้น (เช่น กลุ่มอินพุต กลุ่มปุ่ม ฯลฯ) - คำแนะนำเครื่องมือทริกเกอร์ในองค์ประกอบที่ซ่อนอยู่จะไม่ทำงาน
- คำแนะนำเครื่องมือสำหรับ
.disabled
หรือdisabled
องค์ประกอบต้องถูกทริกเกอร์บนองค์ประกอบ wrapper - เมื่อถูกเรียกจากไฮเปอร์ลิงก์ที่มีหลายบรรทัด คำแนะนำเครื่องมือจะอยู่กึ่งกลาง ใช้
white-space: nowrap;
กับของคุณ<a>
เพื่อหลีกเลี่ยงพฤติกรรมนี้ - ต้องซ่อนคำแนะนำเครื่องมือก่อนที่จะลบองค์ประกอบที่เกี่ยวข้องออกจาก DOM
- คำแนะนำเครื่องมือสามารถทริกเกอร์ได้ด้วยองค์ประกอบภายใน Shadow DOM
ได้ทั้งหมดที่? เยี่ยมมาก มาดูว่ามันทำงานอย่างไรพร้อมตัวอย่างบางส่วน
prefers-reduced-motion
คิวรีสื่อ ดู
ส่วนการเคลื่อนไหวที่ลดลงของเอกสารการช่วยสำหรับการเข้าถึงของเรา
ตัวอย่าง
เปิดใช้งานคำแนะนำเครื่องมือ
ดังที่กล่าวไว้ข้างต้น คุณต้องเริ่มต้นคำแนะนำเครื่องมือก่อนจึงจะสามารถใช้งานได้ วิธีหนึ่งในการเริ่มต้นคำแนะนำเครื่องมือทั้งหมดบนหน้าเว็บคือการเลือกตามdata-bs-toggle
แอตทริบิวต์ เช่น
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
คำแนะนำเครื่องมือเกี่ยวกับลิงก์
วางเมาส์เหนือลิงก์ด้านล่างเพื่อดูคำแนะนำเครื่องมือ:
ข้อความตัวยึดตำแหน่งเพื่อแสดงลิงก์แบบอินไลน์พร้อมคำแนะนำเครื่องมือ ตอนนี้เป็นแค่ฟิลเลอร์ ไม่ใช่นักฆ่า เนื้อหาที่วางอยู่ที่นี่เพียงเพื่อเลียนแบบการมีอยู่ของข้อความจริง และทั้งหมดนี้เพื่อให้คุณได้ทราบว่าคำแนะนำเครื่องมือจะมีลักษณะอย่างไรเมื่อใช้ในสถานการณ์จริง หวังว่าคุณคงได้เห็นแล้วว่าคำแนะนำเครื่องมือเหล่านี้ในลิงก์สามารถทำงานจริงได้อย่างไร เมื่อคุณใช้ คำแนะนำเหล่านี้ใน ไซต์หรือโครงการของคุณเอง
<p class="muted">Placeholder text to demonstrate some <a href="#" data-bs-toggle="tooltip" data-bs-title="Default tooltip">inline links</a> with tooltips. This is now just filler, no killer. Content placed here just to mimic the presence of <a href="#" data-bs-toggle="tooltip" data-bs-title="Another tooltip">real text</a>. And all that just to give you an idea of how tooltips would look when used in real-world situations. So hopefully you've now seen how <a href="#" data-bs-toggle="tooltip" data-bs-title="Another one here too">these tooltips on links</a> can work in practice, once you use them on <a href="#" data-bs-toggle="tooltip" data-bs-title="The last tip!">your own</a> site or project.
</p>
title
หรือ
data-bs-title
ใน HTML ของคุณ เมื่อ
title
ถูกใช้ Popper จะแทนที่มันโดยอัตโนมัติด้วย
data-bs-title
เมื่อมีการแสดงองค์ประกอบ
คำแนะนำเครื่องมือที่กำหนดเอง
เพิ่มใน v5.2.0คุณสามารถปรับแต่งลักษณะที่ปรากฏของคำแนะนำเครื่องมือได้ โดยใช้ ตัวแปร CSS เราตั้งค่าคลาสที่กำหนดเองด้วยdata-bs-custom-class="custom-tooltip"
เพื่อกำหนดขอบเขตลักษณะที่กำหนดเองของเราและใช้เพื่อแทนที่ตัวแปร CSS ในเครื่อง
.custom-tooltip {
--bs-tooltip-bg: var(--bs-primary);
}
<button type="button" class="btn btn-secondary"
data-bs-toggle="tooltip" data-bs-placement="top"
data-bs-custom-class="custom-tooltip"
data-bs-title="This top tooltip is themed via CSS variables.">
Custom tooltip
</button>
ทิศทาง
วางเมาส์เหนือปุ่มด้านล่างเพื่อดูคำแนะนำเครื่องมือสี่ทิศทาง: บน ขวา ล่าง และซ้าย ทิศทางจะถูกมิเรอร์เมื่อใช้ Bootstrap ใน RTL
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="Tooltip on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-title="Tooltip on right">
Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Tooltip on bottom">
Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" data-bs-title="Tooltip on left">
Tooltip on left
</button>
และด้วยการเพิ่ม HTML ที่กำหนดเอง:
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
Tooltip with HTML
</button>
ด้วย SVG:
CSS
ตัวแปร
เพิ่มใน v5.2.0ในฐานะที่เป็นส่วนหนึ่งของแนวทางการพัฒนาตัวแปร CSS ของ Bootstrap ขณะนี้คำแนะนำเครื่องมือใช้ตัวแปร CSS ใน.tooltip
เครื่องสำหรับการปรับแต่งตามเวลาจริงที่ได้รับการปรับปรุง ค่าสำหรับตัวแปร CSS ถูกกำหนดผ่าน Sass ดังนั้นยังคงรองรับการปรับแต่ง Sass ด้วยเช่นกัน
--#{$prefix}tooltip-zindex: #{$zindex-tooltip};
--#{$prefix}tooltip-max-width: #{$tooltip-max-width};
--#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};
--#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};
--#{$prefix}tooltip-margin: #{$tooltip-margin};
@include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size);
--#{$prefix}tooltip-color: #{$tooltip-color};
--#{$prefix}tooltip-bg: #{$tooltip-bg};
--#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};
--#{$prefix}tooltip-opacity: #{$tooltip-opacity};
--#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};
--#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};
ตัวแปร Sass
$tooltip-font-size: $font-size-sm;
$tooltip-max-width: 200px;
$tooltip-color: $white;
$tooltip-bg: $black;
$tooltip-border-radius: $border-radius;
$tooltip-opacity: .9;
$tooltip-padding-y: $spacer * .25;
$tooltip-padding-x: $spacer * .5;
$tooltip-margin: null; // TODO: remove this in v6
$tooltip-arrow-width: .8rem;
$tooltip-arrow-height: .4rem;
// fusv-disable
$tooltip-arrow-color: null; // Deprecated in Bootstrap 5.2.0 for CSS variables
// fusv-enable
การใช้งาน
ปลั๊กอินคำแนะนำเครื่องมือสร้างเนื้อหาและมาร์กอัปตามต้องการ และโดยค่าเริ่มต้นจะวางคำแนะนำเครื่องมือหลังองค์ประกอบทริกเกอร์
ทริกเกอร์คำแนะนำเครื่องมือผ่าน JavaScript:
const exampleEl = document.getElementById('example')
const tooltip = new bootstrap.Tooltip(exampleEl, options)
ล้นauto
และscroll
ตำแหน่งคำแนะนำเครื่องมือพยายามเปลี่ยนโดยอัตโนมัติเมื่อคอนเทนเนอร์หลักมีoverflow: auto
หรือoverflow: scroll
เหมือนของเรา.table-responsive
แต่ยังคงตำแหน่งตำแหน่งเดิม ในการแก้ไขปัญหานี้ ให้ตั้งค่าboundary
ตัวเลือก (สำหรับตัวแก้ไขการพลิกโดยใช้popperConfig
ตัวเลือก) เป็น HTMLElement เพื่อแทนที่ค่าเริ่มต้น'clippingParents'
เช่นdocument.body
:
const tooltip = new bootstrap.Tooltip('#example', {
boundary: document.body // or document.querySelector('#boundary')
})
มาร์กอัป
มาร์กอัปที่จำเป็นสำหรับคำแนะนำเครื่องมือเป็นเพียงdata
แอตทริบิวต์และtitle
ในองค์ประกอบ HTML ที่คุณต้องการให้มีคำแนะนำเครื่องมือ มาร์กอัปของคำแนะนำเครื่องมือที่สร้างขึ้นนั้นค่อนข้างง่าย แม้ว่าจะต้องมีตำแหน่ง (โดยค่าเริ่มต้น กำหนดtop
โดยปลั๊กอิน)
การทำให้คำแนะนำเครื่องมือใช้งานได้สำหรับผู้ใช้คีย์บอร์ดและเทคโนโลยีช่วยเหลือ
คุณควรเพิ่มคำแนะนำเครื่องมือให้กับองค์ประกอบ HTML ที่เน้นคีย์บอร์ดและโต้ตอบได้ตามปกติ (เช่น ลิงก์หรือตัวควบคุมฟอร์ม) แม้ว่าองค์ประกอบ HTML ตามอำเภอใจ (เช่น<span>
s) สามารถทำให้โฟกัสได้โดยการเพิ่มtabindex="0"
แอตทริบิวต์ สิ่งนี้จะเพิ่มการหยุดแท็บที่อาจน่ารำคาญและทำให้เกิดความสับสนในองค์ประกอบที่ไม่โต้ตอบสำหรับผู้ใช้แป้นพิมพ์ และเทคโนโลยีช่วยเหลือส่วนใหญ่ในปัจจุบันยังไม่ประกาศคำแนะนำเครื่องมือในสถานการณ์นี้ นอกจากนี้ อย่าพึ่งเพียงhover
เป็นทริกเกอร์สำหรับคำแนะนำเครื่องมือของคุณ เนื่องจากจะทำให้คำแนะนำเครื่องมือของคุณไม่สามารถทริกเกอร์สำหรับผู้ใช้คีย์บอร์ดได้
<!-- HTML to write -->
<a href="#" data-bs-toggle="tooltip" data-bs-title="Some tooltip text!">Hover over me</a>
<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
</div>
องค์ประกอบพิการ
องค์ประกอบที่มีdisabled
แอตทริบิวต์ไม่โต้ตอบ หมายความว่าผู้ใช้ไม่สามารถโฟกัส วางเมาส์เหนือ หรือคลิกเพื่อทริกเกอร์คำแนะนำเครื่องมือ (หรือป๊อปโอเวอร์) ในการแก้ปัญหาชั่วคราว คุณจะต้องทริกเกอร์คำแนะนำเครื่องมือจาก wrapper <div>
หรือ<span>
ทำให้แป้นพิมพ์โฟกัสได้โดยใช้tabindex="0"
.
<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" data-bs-title="Disabled tooltip">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
ตัวเลือก
เนื่องจากตัวเลือกสามารถส่งผ่านแอตทริบิวต์ข้อมูลหรือ JavaScript คุณจึงเพิ่มชื่อตัวเลือกต่อท้ายได้ เช่น เดียวdata-bs-
กับใน data-bs-animation="{value}"
ตรวจสอบให้แน่ใจว่าได้เปลี่ยนประเภทเคสของชื่อตัวเลือกจาก “ camelCase ” เป็น “ kebab-case ” เมื่อส่งตัวเลือกผ่านแอตทริบิวต์ data เช่น ใช้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 |
บูลีน | true |
ใช้ CSS Fade Transition กับคำแนะนำเครื่องมือ |
boundary |
สตริง องค์ประกอบ | 'clippingParents' |
ขอบเขตข้อจำกัดโอเวอร์โฟลว์ของคำแนะนำเครื่องมือ (ใช้เฉพาะกับตัวแก้ไขป้องกัน Overflow ของ Popper) โดยค่าเริ่มต้น เป็น'clippingParents' และสามารถยอมรับการอ้างอิง HTMLElement (ผ่าน JavaScript เท่านั้น) สำหรับข้อมูลเพิ่มเติม โปรดดูที่เอกสาร detectOverflowของ Popper |
container |
สตริง องค์ประกอบ false | false |
เพิ่มคำแนะนำเครื่องมือต่อท้ายองค์ประกอบเฉพาะ ตัวอย่าง: container: 'body' . ตัวเลือกนี้มีประโยชน์อย่างยิ่ง โดยจะช่วยให้คุณสามารถวางตำแหน่งคำแนะนำเครื่องมือในโฟลว์ของเอกสารใกล้กับองค์ประกอบการทริกเกอร์ ซึ่งจะป้องกันไม่ให้คำแนะนำเครื่องมือลอยออกจากองค์ประกอบที่ทริกเกอร์ในระหว่างการปรับขนาดหน้าต่าง |
customClass |
สตริงฟังก์ชัน | '' |
เพิ่มคลาสให้กับคำแนะนำเครื่องมือเมื่อแสดง โปรดทราบว่าคลาสเหล่านี้จะถูกเพิ่มนอกเหนือจากคลาสที่ระบุในเทมเพลต หากต้องการเพิ่มหลายคลาส ให้คั่นด้วยช่องว่าง: 'class-1 class-2' . คุณยังสามารถส่งฟังก์ชันที่ควรส่งคืนสตริงเดียวที่มีชื่อคลาสเพิ่มเติม |
delay |
หมายเลขวัตถุ | 0 |
การแสดงและซ่อนคำแนะนำเครื่องมือล่าช้า (มิลลิวินาที) ไม่มีผลกับประเภททริกเกอร์ด้วยตนเอง หากมีการระบุตัวเลข การหน่วงเวลาจะถูกนำไปใช้กับทั้งซ่อน/แสดง โครงสร้างวัตถุคือ: delay: { "show": 500, "hide": 100 } . |
fallbackPlacements |
อาร์เรย์ | ['top', 'right', 'bottom', 'left'] |
กำหนดตำแหน่งสำรองโดยระบุรายการตำแหน่งในอาร์เรย์ (ตามลำดับความชอบ) สำหรับข้อมูล เพิ่มเติม โปรดดู เอกสารพฤติกรรมของ Popper |
html |
บูลีน | false |
อนุญาต HTML ในคำแนะนำเครื่องมือ หากเป็นจริง แท็ก HTML ในคำแนะนำเครื่องมือtitle จะแสดงในคำแนะนำเครื่องมือ หากเป็นเท็จinnerText คุณสมบัติจะถูกใช้เพื่อแทรกเนื้อหาลงใน DOM ใช้ข้อความหากคุณกังวลเกี่ยวกับการโจมตี XSS |
offset |
อาร์เรย์ สตริง ฟังก์ชัน | [0, 0] |
ออฟเซ็ตของคำแนะนำเครื่องมือที่สัมพันธ์กับเป้าหมาย คุณสามารถส่งสตริงในแอตทริบิวต์ข้อมูลด้วยค่าที่คั่นด้วยเครื่องหมายจุลภาค เช่นdata-bs-offset="10,20" : เมื่อใช้ฟังก์ชันเพื่อกำหนดออฟเซ็ต ฟังก์ชันจะถูกเรียกด้วยออบเจ็กต์ที่มีการจัดวางแบบป๊อปเปอร์ การอ้างอิง และการแก้ไขแบบป๊อปอัปเป็นอาร์กิวเมนต์แรก องค์ประกอบทริกเกอร์โหนด DOM ถูกส่งผ่านเป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันต้องส่งคืนอาร์เรย์ที่มีตัวเลขสองตัว: skidding , distance สำหรับข้อมูลเพิ่มเติม โปรดดู เอกสารออฟเซ็ตของPopper |
placement |
สตริงฟังก์ชัน | 'top' |
วิธีจัดตำแหน่งคำแนะนำเครื่องมือ: อัตโนมัติ บน ล่าง ซ้าย ขวา เมื่อauto ถูกระบุ มันจะปรับทิศทางคำแนะนำเครื่องมือใหม่แบบไดนามิก เมื่อใช้ฟังก์ชันเพื่อกำหนดตำแหน่ง ฟังก์ชันนี้จะถูกเรียกโดยมีโหนด DOM ของคำแนะนำเครื่องมือเป็นอาร์กิวเมนต์แรก และโหนด DOM ที่ทริกเกอร์องค์ประกอบเป็นโหนดที่สอง this บริบทถูกตั้งค่าเป็นอินสแตนซ์คำแนะนำเครื่องมือ |
popperConfig |
null วัตถุ ฟังก์ชัน | null |
หากต้องการเปลี่ยนการกำหนดค่า Popper เริ่มต้นของ Bootstrap โปรดดู การกำหนดค่า ของPopper เมื่อใช้ฟังก์ชันเพื่อสร้างการกำหนดค่า Popper ฟังก์ชันนี้จะถูกเรียกใช้ด้วยอ็อบเจ็กต์ที่มีการกำหนดค่า Popper เริ่มต้นของ Bootstrap ช่วยให้คุณใช้และรวมค่าเริ่มต้นเข้ากับการกำหนดค่าของคุณเอง ฟังก์ชันต้องส่งคืนอ็อบเจ็กต์การกำหนดค่าสำหรับ Popper |
sanitize |
บูลีน | true |
เปิดหรือปิดการฆ่าเชื้อ หากเปิดใช้งาน'template' และ'content' ตัว'title' เลือกต่างๆ จะถูกฆ่าเชื้อ |
sanitizeFn |
null, ฟังก์ชัน | null |
ที่นี่คุณสามารถจัดหาฟังก์ชันฆ่าเชื้อของคุณเองได้ สิ่งนี้มีประโยชน์หากคุณต้องการใช้ห้องสมุดเฉพาะเพื่อทำการฆ่าเชื้อ |
selector |
สตริง เท็จ | false |
หากมีตัวเลือก อ็อบเจ็กต์คำแนะนำเครื่องมือจะถูกส่งไปยังเป้าหมายที่ระบุ ในทางปฏิบัติ จะใช้เพื่อใช้คำแนะนำเครื่องมือกับองค์ประกอบ DOM ที่เพิ่มแบบไดนามิก ( jQuery.on การสนับสนุน) ดูปัญหานี้และตัวอย่างข้อมูล |
template |
สตริง | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
HTML พื้นฐานที่จะใช้เมื่อสร้างคำแนะนำเครื่องมือ คำแนะนำเครื่องมือtitle จะถูกฉีดเข้าไปในไฟล์.tooltip-inner . .tooltip-arrow จะกลายเป็นลูกศรของคำแนะนำเครื่องมือ องค์ประกอบ wrapper นอกสุดควรมี.tooltip คลาสและrole="tooltip" . |
title |
สตริง องค์ประกอบ ฟังก์ชัน | '' |
ค่าเริ่มต้นของชื่อหากไม่มีtitle แอตทริบิวต์ หากมีการกำหนดฟังก์ชัน ฟังก์ชันนั้นจะถูกเรียกโดยthis ตั้งค่าการอ้างอิงไปยังองค์ประกอบที่เชื่อมต่อป๊อปโอเวอร์ |
trigger |
สตริง | 'hover focus' |
วิธีเรียกใช้คำแนะนำเครื่องมือ: คลิก เลื่อนเมาส์ โฟกัส กำหนดเอง คุณอาจส่งทริกเกอร์หลายตัว แยกพวกเขาด้วยช่องว่าง 'manual' ระบุว่าคำแนะนำเครื่องมือจะถูกเรียกใช้โดยทางโปรแกรมผ่านเมธอด.tooltip('show') , .tooltip('hide') และ .tooltip('toggle') ค่านี้ไม่สามารถรวมกับทริกเกอร์อื่นได้ 'hover' ด้วยตัวมันเองจะส่งผลให้เกิดคำแนะนำเครื่องมือที่ไม่สามารถเรียกใช้ผ่านแป้นพิมพ์ได้ และควรใช้เฉพาะในกรณีที่มีวิธีการอื่นในการถ่ายทอดข้อมูลเดียวกันสำหรับผู้ใช้แป้นพิมพ์ |
แอตทริบิวต์ข้อมูลสำหรับคำแนะนำเครื่องมือแต่ละรายการ
ตัวเลือกสำหรับคำแนะนำเครื่องมือแต่ละรายการสามารถระบุได้โดยใช้แอตทริบิวต์ข้อมูล ตามที่อธิบายข้างต้น
การใช้ฟังก์ชันกับpopperConfig
const tooltip = new bootstrap.Tooltip(element, {
popperConfig(defaultBsPopperConfig) {
// const newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
วิธีการ
วิธีการและการเปลี่ยนแบบอะซิงโครนัส
เมธอด API ทั้งหมดเป็นแบบอะซิงโครนัสและเริ่มต้นการเปลี่ยนแปลง พวกเขาจะกลับไปที่ผู้โทรทันทีที่เริ่มเปลี่ยน แต่ ก่อน ที่จะสิ้นสุด นอกจากนี้ การเรียกเมธอดบนคอมโพเนนต์การเปลี่ยนจะถูกละเว้น
วิธี | คำอธิบาย |
---|---|
disable |
ลบความสามารถในการแสดงคำแนะนำเครื่องมือขององค์ประกอบ คำแนะนำเครื่องมือจะแสดงได้ก็ต่อเมื่อเปิดใช้งานอีกครั้ง |
dispose |
ซ่อนและทำลายคำแนะนำเครื่องมือขององค์ประกอบ (ลบข้อมูลที่เก็บไว้ในองค์ประกอบ DOM) คำแนะนำเครื่องมือที่ใช้การมอบหมาย (ซึ่งสร้างขึ้นโดยใช้ตัวselector เลือก ) ไม่สามารถทำลายทีละรายการในองค์ประกอบทริกเกอร์ที่สืบทอดได้ |
enable |
ให้ความสามารถในการแสดงคำแนะนำเครื่องมือขององค์ประกอบ คำแนะนำเครื่องมือเปิดใช้งานโดยค่าเริ่มต้น |
getInstance |
เมธอด แบบคงที่ซึ่งช่วยให้คุณได้รับอินสแตนซ์คำแนะนำเครื่องมือที่เชื่อมโยงกับองค์ประกอบ DOM หรือสร้างใหม่ในกรณีที่ไม่ได้เริ่มต้น |
getOrCreateInstance |
เมธอด แบบคงที่ซึ่งช่วยให้คุณได้รับอินสแตนซ์คำแนะนำเครื่องมือที่เชื่อมโยงกับองค์ประกอบ DOM หรือสร้างใหม่ในกรณีที่ไม่ได้เริ่มต้น |
hide |
ซ่อนคำแนะนำเครื่องมือขององค์ประกอบ กลับไปยังผู้เรียกก่อนที่คำแนะนำเครื่องมือจะถูกซ่อนจริง ๆ (กล่าวคือ ก่อนที่hidden.bs.tooltip เหตุการณ์จะเกิดขึ้น) นี่ถือเป็นการเรียกใช้ "คู่มือ" ของคำแนะนำเครื่องมือ |
setContent |
ให้วิธีการเปลี่ยนเนื้อหาของคำแนะนำเครื่องมือหลังจากการเริ่มต้น |
show |
แสดงคำแนะนำเครื่องมือขององค์ประกอบ กลับไปยังผู้เรียกก่อนที่จะแสดงคำแนะนำเครื่องมือจริง (กล่าวคือ ก่อนที่shown.bs.tooltip เหตุการณ์จะเกิดขึ้น) นี่ถือเป็นการเรียกใช้ "คู่มือ" ของคำแนะนำเครื่องมือ คำแนะนำเครื่องมือที่มีชื่อความยาวเป็นศูนย์จะไม่แสดงขึ้น |
toggle |
สลับคำแนะนำเครื่องมือขององค์ประกอบ กลับไปยังผู้เรียกก่อนที่จะแสดงหรือซ่อนคำแนะนำเครื่องมือจริง (เช่น ก่อนที่ เหตุการณ์ shown.bs.tooltip หรือhidden.bs.tooltip เหตุการณ์จะเกิดขึ้น) นี่ถือเป็นการเรียกใช้ "คู่มือ" ของคำแนะนำเครื่องมือ |
toggleEnabled |
สลับความสามารถในการแสดงหรือซ่อนคำแนะนำเครื่องมือขององค์ประกอบ |
update |
อัปเดตตำแหน่งของคำแนะนำเครื่องมือขององค์ประกอบ |
const tooltip = bootstrap.Tooltip.getInstance('#example') // Returns a Bootstrap tooltip instance
// setContent example
tooltip.setContent({ '.tooltip-inner': 'another title' })
setContent
เมธอดยอมรับ
อาร์กิวเมนต์
object
โดยที่แต่ละคีย์คุณสมบัติเป็น
string
ตัวเลือกที่ถูกต้องภายในเทมเพลตป๊อปโอเวอร์ และแต่ละค่าคุณสมบัติที่เกี่ยวข้องสามารถเป็น
string
|
element
|
function
|
null
เหตุการณ์
เหตุการณ์ | คำอธิบาย |
---|---|
hide.bs.tooltip |
เหตุการณ์นี้เริ่มทำงานทันทีเมื่อhide มีการเรียกเมธอดของอินสแตนซ์ |
hidden.bs.tooltip |
เหตุการณ์นี้เริ่มทำงานเมื่อป๊อปโอเวอร์ถูกซ่อนจากผู้ใช้เสร็จสิ้น (จะรอให้การเปลี่ยน CSS เสร็จสมบูรณ์) |
inserted.bs.tooltip |
เหตุการณ์นี้เริ่มทำงานหลังจากshow.bs.tooltip เหตุการณ์เมื่อมีการเพิ่มเทมเพลตคำแนะนำเครื่องมือใน DOM |
show.bs.tooltip |
เหตุการณ์นี้จะเริ่มทำงานทันทีเมื่อมีshow การเรียกเมธอดของอินสแตนซ์ |
shown.bs.tooltip |
เหตุการณ์นี้เริ่มทำงานเมื่อผู้ใช้มองเห็นป๊อปโอเวอร์ (จะรอให้การเปลี่ยน CSS เสร็จสมบูรณ์) |
const myTooltipEl = document.getElementById('myTooltip')
const tooltip = bootstrap.Tooltip.getOrCreateInstance(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', () => {
// do something...
})
tooltip.hide()