javascript - 单击标题中的按钮时如何防止 Accordion 切换?

标签 javascript jquery twitter-bootstrap twitter-bootstrap-3

我正在使用 bootstrap 的 Accordion 类,并希望在标题中有可以在不切换 Accordion 的情况下单击的按钮。这是示例 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(); 一起使用来阻止 Accordion 的触发,但它不起作用:

window.foo = function(e) {
    console.log("foo");
    $(".body").append("<br>foo");
    e.preventDefault();
}

JSFIDDLE

如何防止 Accordion 在单击按钮时触发?

最佳答案

你想停止事件冒泡,所以你使用stopPropagation :

window.foo = function(e) {
    e.stopPropagation();
}

演示:http://jsfiddle.net/Bye8K/3/

关于javascript - 单击标题中的按钮时如何防止 Accordion 切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24469602/

相关文章:

javascript - 国际电话输入限制下拉菜单国家选择更改

button - 单击 twitter bootstrap modal 的取消按钮时如何重新加载当前页面?

javascript - Angular JS ng-repeat 元素不更新

javascript - 创建元素时过渡不透明度不起作用

javascript - 如何在 Rails 3 中使用确认对话框远程删除后调用 JavaScript 函数

Javascript slider 不滚动

css - 在没有默认属性的 jquery 数据表中使用 Bootstrap

html - href 链接不可点击或突出显示

javascript - '!!~' 在 Javascript 中做什么?

javascript - 从 url 中删除空查询字符串