【问题标题】:Bootstrap modal: disable opening in new tab/window引导模式:禁用在新选项卡/窗口中打开
【发布时间】:2014-03-26 17:46:54
【问题描述】:

我有类似this.

问题:如何禁用在新窗口中打开HomeProfile 选项卡?

【问题讨论】:

  • 您是否尝试删除 data-toggle 参数?
  • @Lawrence 是的,没有结果。
  • 那么它很可能在 CSS 中为nav nav-tabs 定义。请附上 CSS 相关内容。
  • @Lawrence 看看我的问题的附加部分。我已经发布了整个 CSS。
  • 嗯,我无法在JSFiddle 中重现该问题。页面上可能有一些执行此操作的 JS 代码?

标签: javascript jquery twitter-bootstrap


【解决方案1】:

解决方法很简单:添加 oncontextmenu="return false;"到 ul 元素。

<ul class="nav nav-tabs" oncontextmenu="return false;">
  <li class="active"><a href="#home" data-toggle="tab">Home Tab</a></li>
  <li><a href="#profile" data-toggle="tab">Profile Tab</a></li>
</ul>

【讨论】:

    【解决方案2】:

    你可以禁止链接做任何事情:

    $('#view-modal-nav a').click(function(event){
      event.preventDefault();
      //handle your code here
    });
    

    【讨论】:

    • 我希望他们工作。问题是我有单入口点的 SPA。我的意思是打开一些网址,用户必须通过主页。所以我应该禁用在新标签/窗口中打开链接。
    • @VolodymyrBakhmatiuk 您可以在 javascript 函数中处理它。我不确定是否有任何其他方法可以禁用在新选项卡/窗口中打开链接。
    • 怎么样?我知道如何拦截事件。如何区分用户是要在同一个标​​签页还是新标签页中打开链接?
    • @VolodymyrBakhmatiuk 您可以使用事件对象检查用户是否要使用鼠标中键。如果您想在右键单击时禁用在新链接中打开,请参阅 stackoverflow.com/questions/17169198/… 。您可能必须同时做这两件事
    • 请看带有演示的升级问题
    【解决方案3】:

    试试这个

    $('#view-modal-nav a').click(function (e) {   
           e.preventDefault(); //Prevents Opening of Links
           $(this).tab('show'); //Shows the Corresponding tab
    });
    

    【讨论】:

    • 不拦截open in new tab事件。
    • 请看带有演示的升级问题
    猜你喜欢
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多