首页 > 解决方案 > 引导选项卡单击 preventDefault 不起作用

问题描述

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

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

$('#mainTabs a').click(function (e) {
            e.preventDefault()
            console.log('Clicked');
        });

当我使用

show.bs.tab

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

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

请帮忙。

标签: javascripttwitter-bootstrap-3preventdefaultbootstrap-tabs

解决方案


如果e.preventDefault();不起作用,则必须e.stopImmediatePropagation();改用。

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

$("#mainTabs a").click(function(e) {
     e.stopImmediatePropagation();
});

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

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

使用return false;.


推荐阅读