我尝试在click事件上使用stopPropagation向引导程序折叠式标头添加外部链接。
不幸的是,链接不起作用, accordion 的展开/折叠仍然发生。
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
/
<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>
js:
$('.non-collapsing').on('click', function (e) {
e.stopPropagation();
});
jsfiddle:https://jsfiddle.net/ct503zgf/的参数值
有谁能给予个提示为什么这不起作用吗?
2条答案
按热度按时间wgxvkvu91#
在link元素中添加
data-bs-toggle="collapse"
和一个空的data-bs-target
对我来说是有效的。(也可以用<button>
代替<a>
)jsfiddle:https://jsfiddle.net/Lkfdr2vt/的参数值
xqkwcwgp2#
在遇到同样的问题后,我读了你的解决方案。这个解决方案让我找到了正确的方法,但是在非折叠元素中添加 data-bs-toggle=“collapse”data-bs-target 就足够了。JavaScript代码不是必需的。