簡體   English   中英

防止 Bootstrap 5 Accordion 崩潰

[英]Prevent Bootstrap 5 Accordion from collapsing

我正在使用 Bootstrap 5 的 Accordion 組件。 好消息:效果很好!

但是折疊手風琴的按鈕很大,所以我想在其中添加一個額外的鏈接,以獲得一些額外的東西。

    <div class="accordion accordion-flush" id="myaccordion">
        <div class="accordion-item">
<!-- important part starts here -->
            <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-001" aria-expanded="false" aria-controls="collapse-001">
                <img src="https://picsum.photos/50/50" alt="such a nice pic"/>
                <p>Sneak peek of what will appear</p>
                <a href="http://www.lets-go.out">Let's go</a>
            <button>
<!-- important part is over -->
            <div id="collapse-001" class="accordion-collapse collapse" aria-labelledby="heading-001" data-bs-parent="#myaccordion">
                <div class="accordion-body">
                    <p>Hidden stuff goes here</p>
                </div>
            </div>
        </div>
        
        <div class="accordion-item">
            ...
        </div>
    </div>

我想要什么:單擊按鈕中的任意位置將打開手風琴,但如果我單擊鏈接則不會。 如果我點擊鏈接,我想關注href。

我得到了什么:即使我點擊了鏈接,點擊按鈕中的任何地方都會打開手風琴。

我試圖在鏈接上添加額外的 e.preventDefault() 或 e.stopPropagation() ,但沒有成功:(

任何想法?

我嘗試將錨點嵌套在按鈕內,但它不起作用。 單擊事件始終在按鈕級別捕獲。 我沒有檢查引導程序源代碼來檢查替代方案,但找到了一種使用以下方法實現您所要求的方法:將按鈕和鏈接都作為 div 的子項,並使用 css 進行調整以使其在視覺上保持相同“線”。

    <h2 class="accordion-header" id="headingOne">
      <div class="d-flex">
        <div class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Accordion Item #1
        </div>
        <a class="outlink" href="https://pullman.clubify.cl">Let's go</a>
      </div>
    </h2>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM