我在主导航菜单中使用了基本的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
项除了显示下拉菜单以外的其他任何其他构想?
答案 0 :(得分:1)
为什么1级需要成为锚点?仅仅是因为Bootstrap的布局方式如此,并非一定如此。实际上,由于该1级锚点已经在列表项中,因此只需删除该锚点,然后将“ 1级”文本放在该列表项中即可。