Bootstrap选项卡preventDefault()中断下拉功能

时间:2017-11-30 13:52:57

标签: twitter-bootstrap tabs dropdown preventdefault

这里有一个漂亮的Bootstrap小片段,可以防止点击后跳转标签:

$('.nav-tabs a').on('shown.bs.tab', function (e) {
        e.preventDefault();
        $(this).tab('show');
        $('.tab-content > .tab-pane.active').jScrollPane();
        window.location.hash = e.target.hash;
    })

    $('.nav-tabs li a').click(function (e) {
        e.preventDefault();
        $(this).tab('show');
        $('.tab-content > .tab-pane.active').jScrollPane();
    });

不幸的是,它阻止了da dropdown-tab的默认行为。 结果是您无法单击下拉列表中的任何链接。

我该如何解决这个问题。 我想继承这个标签。因此,在不添加自定义类或ID的情况下重写Bootstrap会很不错。

感谢您的帮助。 monsee

1 个答案:

答案 0 :(得分:0)

我有一个解决方案。只需检查当前元素类是否不等于' dropdown-toggle'还使用clicked-event删除第二个块。似乎工作:

$('.nav-tabs a').on('shown.bs.tab', function (e) {
    if ($(this).attr('class') != 'dropdown-toggle') {
        e.preventDefault();
        $(this).tab('show');
        $('.tab-content > .tab-pane.active').jScrollPane();
    }
    window.location.hash = e.target.hash;
})