代码之家  ›  专栏  ›  技术社区  ›  Stacy J

bootstrap选项卡单击preventdefault不工作

  •  2
  • Stacy J  · 技术社区  · 7 年前

    我正在使用bootstrap 3.3,并遵循标签页的文档。

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

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

    当我使用

    show.bs.tab
    

    事件,防止默认工作。但由于某些原因,click没有。控制台正在打印“clicked”,但不阻止选项卡更改。

    基本上,我试图截取标签的变化,显示一个模式,并根据用户输入,显示或不显示新的标签。

    请帮忙。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Hardik Shah    7 年前

    如果 e.preventDefault(); 不工作,你必须使用 e.stopImmediatePropagation(); 相反。

    有关更多信息,请查看: What's the difference between event.stopPropagation and event.preventDefault?

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

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

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

    使用 return false; 是的。

    推荐文章