手风琴标题中的引导链接:stopPropagation 不起作用

ale*_*dre 6 accordion twitter-bootstrap bootstrap-accordion

我正在尝试在单击事件上使用 stopPropagation 将外部链接添加到引导手风琴标头。

不幸的是,链接不起作用,手风琴的展开/折叠仍然发生。

html:

<ul class="accordion" id="collapse1">
  <li>
    <div class="accordion-button collapsed" href="#one" 
         data-bs-toggle="collapse" data-bs-target="#one" aria-expanded="false">
         Maincategory
         &nbsp;/&nbsp;
         <a href="https://google.com" class="non-collapsing">
           open
         </a>
    </div>
    <ul class="accordion-collapse collapse" id="one" data-bs-parent="#collapse1">
      <li><a href="#">Sub 1</a></li>
      <li><a href="#">Sub 2</a></li>
      <li><a href="#">Sub 3</a></li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

js:

$('.non-collapsing').on('click', function (e) {
    e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

jsfiddle: https: //jsfiddle.net/ct503zgf/

任何人都可以提示为什么这不起作用吗?

小智 12

添加data-bs-toggle="collapse"和一个空data-bs-target到链接元素对我有用。(也可以与 a<button>一起使用而不是<a>

<ul class="accordion" id="collapse1">
  <li>
    <div class="accordion-button collapsed" href="#one" 
         data-bs-toggle="collapse" data-bs-target="#one" aria-expanded="false">
         Maincategory
         &nbsp;/&nbsp;
         <a href="https://google.com" class="non-collapsing" data-bs-toggle="collapse" data-bs-target>
           open
         </a>
    </div>
    <ul class="accordion-collapse collapse" id="one" data-bs-parent="#collapse1">
      <li><a href="#">Sub 1</a></li>
      <li><a href="#">Sub 2</a></li>
      <li><a href="#">Sub 3</a></li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

jsfiddle: https: //jsfiddle.net/Lkfdr2vt/

  • 谢谢你!`data-bs-toggle="collapse" data-bs-target` 工作得很好。其他人请注意:小提琴中不需要“non-collapsing”类和关联的 JS,它们之所以存在只是因为它们是 OP 原始小提琴的一部分。 (3认同)