ข้ามไปที่เนื้อหาหลัก ข้ามไปที่การนำทางเอกสาร
Check
in English

เคล็ดลับเครื่องมือ

เอกสารประกอบและตัวอย่างสำหรับการเพิ่มคำแนะนำเครื่องมือ 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

ได้ทั้งหมดที่? เยี่ยมมาก มาดูว่ามันทำงานอย่างไรพร้อมตัวอย่างบางส่วน

โดยค่าเริ่มต้น คอมโพเนนต์นี้ใช้ตัวฆ่าเชื้อเนื้อหาในตัว ซึ่งจะแยกองค์ประกอบ HTML ที่ไม่ได้รับอนุญาตอย่างชัดเจน ดู ส่วนการฆ่าเชื้อในเอกสาร JavaScript ของเราสำหรับรายละเอียดเพิ่มเติม
เอฟเฟกต์ภาพเคลื่อนไหวของส่วนประกอบนี้ขึ้นอยู่กับ prefers-reduced-motionคิวรีสื่อ ดู ส่วนการเคลื่อนไหวที่ลดลงของเอกสารการช่วยสำหรับการเข้าถึงของเรา

ตัวอย่าง

เปิดใช้งานคำแนะนำเครื่องมือ

ดังที่กล่าวไว้ข้างต้น คุณต้องเริ่มต้นคำแนะนำเครื่องมือก่อนจึงจะสามารถใช้งานได้ วิธีหนึ่งในการเริ่มต้นคำแนะนำเครื่องมือทั้งหมดบนหน้าเว็บคือการเลือกตามdata-bs-toggleแอตทริบิวต์ เช่น

const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))

วางเมาส์เหนือลิงก์ด้านล่างเพื่อดูคำแนะนำเครื่องมือ:

ข้อความตัวยึดตำแหน่งเพื่อแสดงลิงก์แบบอินไลน์พร้อมคำแนะนำเครื่องมือ ตอนนี้เป็นแค่ฟิลเลอร์ ไม่ใช่นักฆ่า เนื้อหาที่วางอยู่ที่นี่เพียงเพื่อเลียนแบบการมีอยู่ของข้อความจริง และทั้งหมดนี้เพื่อให้คุณได้ทราบว่าคำแนะนำเครื่องมือจะมีลักษณะอย่างไรเมื่อใช้ในสถานการณ์จริง หวังว่าคุณคงได้เห็นแล้วว่าคำแนะนำเครื่องมือเหล่านี้ในลิงก์สามารถทำงานจริงได้อย่างไร เมื่อคุณใช้ คำแนะนำเหล่านี้ใน ไซต์หรือโครงการของคุณเอง

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

html
<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 ทั้งหมดเป็นแบบอะซิงโครนัสและเริ่มต้นการเปลี่ยนแปลง พวกเขาจะกลับไปที่ผู้โทรทันทีที่เริ่มเปลี่ยน แต่ ก่อน ที่จะสิ้นสุด นอกจากนี้ การเรียกเมธอดบนคอมโพเนนต์การเปลี่ยนจะถูกละเว้น

ดูเอกสาร JavaScript ของเราสำหรับข้อมูลเพิ่มเติม

วิธี คำอธิบาย
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()