我有两个动作按钮,它们位于 accordion 的顶部,如下所示:
当我单击其中一个按钮时,它会切换 accordion 的状态,我尝试了e.preventDefault()
和e.stopImmediatePropagation()
,但没有结果
下面是jsfiddle:
https://jsfiddle.net/bxzhqsad/3/
请记住,我使用的是Bootstrap 5。
我有两个动作按钮,它们位于 accordion 的顶部,如下所示:
当我单击其中一个按钮时,它会切换 accordion 的状态,我尝试了e.preventDefault()
和e.stopImmediatePropagation()
,但没有结果
下面是jsfiddle:
https://jsfiddle.net/bxzhqsad/3/
请记住,我使用的是Bootstrap 5。
2条答案
按热度按时间g0czyy6m1#
以下是解决此问题的方法:
折叠按钮具有以下数据属性
没有它, accordion 就不能工作。所以,我们可以用它作为一个技巧,当鼠标在我们自己的按钮上时,禁用 accordion 。
基本上就是说:
在按钮的***mouseenter***事件上,将折叠按钮
data-bs-collapse
设置为空字符串""
在按钮的***mouseleave***事件上,将折叠按钮
data-bs-collapse
设置回"collapse"
我假设您的按钮是collapse button/div的直接子按钮,因此下面是一些代码:
希望这能有所帮助!
zzlelutf2#
将元素嵌套在.accordion-button中将无法捕获内部元素的事件。实现此功能的一种方法是将内部按钮与.accordion-button分开,然后使用绝对定位实现视觉上相似的外观:
请参见the modified fiddle