提问人:Nate 提问时间:6/29/2014 更新时间:6/29/2014 访问量:16991
如何防止单击标题中的按钮时手风琴切换?
How to prevent accordion from toggling when button in header is clicked?
问:
我正在使用 bootstrap 的手风琴类,并希望在标题中包含无需切换手风琴即可单击的按钮。下面是示例 HTML:
<div class="body">
<div class="panel panel-default" style="width: 80%">
<div class="panel-heading" data-toggle="collapse" data-target="#container1" style="cursor: pointer;">
<h4 class="panel-title" style="display: inline-block;">
title
</h4>
<div style="float: right; width: 130px; text-align: right;"><span style="color: red;">test</span></div>
<button type="button" class="btn btn-xs btn-primary" style="float: right;" onclick="foo(event);">Button</button>
</div>
<div id="container1" class="panel-collapse collapse">
<div class="panel-body">
panel content
</div>
</div>
</div>
</div>
我尝试使用处理程序来阻止手风琴触发,但它不起作用:onclick
e.preventDefault();
window.foo = function(e) {
console.log("foo");
$(".body").append("<br>foo");
e.preventDefault();
}
如何防止单击按钮时触发手风琴?
答:
20赞
dfsq
6/29/2014
#1
您想要停止事件冒泡,因此使用 stopPropagation
:
window.foo = function(e) {
e.stopPropagation();
}
演示:http://jsfiddle.net/Bye8K/3/
评论
0赞
Kyrei
7/23/2020
请注意,对于使用按钮激活引导模式(至少在 React 中)的人来说,您必须停止在 onClick 模态中传播,否则单击模态也会展开/折叠手风琴。
评论