如何防止从顶级下拉列表锚导航?

时间:2019-07-09 13:17:47

标签: javascript html twitter-bootstrap-3

我在主导航菜单中使用了基本的bootstrap v3下拉菜单。我的代码如下所示:

    <li>
      <a href="" class="dropdown-toggle" data-toggle="dropdown">Level 1</a>
      <ul class="dropdown-menu">
        <a href="somelink">Level 2</a>
      </ul>
    </li>

当然,Level 1没有目的地,它只是切换下拉菜单。当您选择Level 2时,您会到达一个网页,该网页会动态生成我们称为JobId的网页,然后立即将您重定向到最终目的地,其中JobId作为查询字符串网址。

这是我的问题: 如果用户右键单击Level 2并选择“在新选项卡中打开”,那么一切都很好,因为他们首先执行了JobId过程,最后得到了一个新的JobId 。但是,如果他们不小心右键单击Level 1并选择“在新标签页中打开”,则会获得与当前页面相同的副本,因此最终会出现2个浏览器标签,它们具有相同的{{1 }}对我们的应用程序来说是一场灾难。

我尝试过的方法: 我尝试将顶级JobId属性设置为href,尝试将其作为空白,尝试完全省略#,并且还尝试将其网址提供给“欢迎”屏幕以防万一。

唯一起作用的是将顶层菜单项链接到欢迎屏幕,但是有副作用。第一次加载页面时,下拉列表可以完美运行。但是一旦选择了一个菜单项,那么下次您单击顶级项目时,就不会显示下拉菜单,而是直接进入欢迎屏幕。

关于如何防止href项除了显示下拉菜单以外的其他任何其他构想?

1 个答案:

答案 0 :(得分:1)

为什么1级需要成为锚点?仅仅是因为Bootstrap的布局方式如此,并非一定如此。实际上,由于该1级锚点已经在列表项中,因此只需删除该锚点,然后将“ 1级”文本放在该列表项中即可。