首页 > 解决方案 > 由 history.pushState 破坏的锚菜单链接

问题描述

我的网站左侧有一系列菜单锚点/哈希链接。例如

<a href="#settings" id="" class="dropdown-toggle" data-toggle="">

这些都工作正常。

我有一个交易列表,按钮使用 AJAX 打开编辑表单,我使用

history.pushState({}, null, `/transaction/${id}/edit`);

更改 URL 并将其添加到历史堆栈,以及适当的弹出状态以在单击返回时重新加载主页。

问题是在 pushState 之后,单击其中一个链接将重新加载页面并将锚名称附加到 url,因此它看起来像说 /transaction/3354/edit#settings,而不是仅仅打开下拉列表。

为什么,拜托,我该如何阻止它发生

标签: javascript

解决方案


如果这是错误的答案,请纠正我,但我将它们从 href="#" 更改为 href="javascript:;" 现在似乎还好


推荐阅读