bootstrap 选项卡单击 preventDefault 不起作用

Sta*_*y J 5 javascript preventdefault bootstrap-tabs twitter-bootstrap-3

我正在使用引导程序 3.3 并遵循选项卡的文档。

文档中给出的最简单的代码对我不起作用,我无法弄清楚原因。

$('#mainTabs a').click(function (e) {
            e.preventDefault()
            console.log('Clicked');
        });
Run Code Online (Sandbox Code Playgroud)

当我使用

show.bs.tab
Run Code Online (Sandbox Code Playgroud)

事件, preventDefault 有效。但由于某种原因点击没有。控制台正在打印“clicked”,但不会阻止选项卡更改。

基本上我试图拦截选项卡更改,显示模式并基于用户输入,显示或不显示新选项卡。

请帮忙。

Har*_*hah 5

如果e.preventDefault();不起作用,您必须使用e.stopImmediatePropagation();它。

有关更多信息,请查看:event.stopPropagation 和 event.preventDefault 之间有什么区别?

$("#mainTabs a").click(function(e) {
     e.stopImmediatePropagation();
});
Run Code Online (Sandbox Code Playgroud)

如果您已将其他事件处理程序附加到链接,则应该查看e.stopPropagation()e.stopImmediatePropagation()。请注意, return false 相当于同时调用event.preventDefault()event.stopPropagation()

编辑==========

使用return false;