禁用数据切换元素中链接的折叠

时间:2014-06-09 15:51:17

标签: javascript twitter-bootstrap collapse

我有一个折叠面板主体,就像这样(the fiddle,现在有固定的代码):

<div class="panel panel-default">
    <div class="panel-heading">
        <div class="panel-title" data-toggle="collapse" href="#collapseOne">
            <a href="#">1) collapsing link</a>
            <a href="#">2) not collapsing link</a>
        </div>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in">
        <div class="panel-body">Anim pariatur cliche ...</div>
    </div>
</div>

数据切换在面板标题上设置,因为我想在其上的任何位置单击以打开另一个面板。除了第二个链接。我的目标是禁用第二个链接的折叠行为。实现这一目标的最佳/最简单方法是什么?

重要:我不想仅在第一个链接上设置数据切换。我想在面板上的任何地方单击以触发偶数,除了在第二个链接上。

1 个答案:

答案 0 :(得分:21)

您需要为那些您不想触发崩溃事件的元素添加一个类,然后通过javascript停止事件传播。所以......这是正确答案。

<div class="panel panel-default">
    <div class="panel-heading">
        <div class="panel-title" data-toggle="collapse" href="#collapseOne">
            <a href="#">1) collapsing link</a>
            <a href="#" class="no-collapsable">2) not collapsing link</a>
        </div>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in">
        <div class="panel-body">Anim pariatur cliche ...</div>
    </div>
</div>

像这样停止事件传播:

$('.no-collapsable').on('click', function (e) {
    e.stopPropagation();
});