javascript - 由 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,而不是仅仅打开下拉列表。
为什么,拜托,我该如何阻止它发生
解决方案
如果这是错误的答案,请纠正我,但我将它们从 href="#" 更改为 href="javascript:;" 现在似乎还好
推荐阅读
- ansible - Ansible set_fact jinja2 用于映射列表和整数
- intellij-idea - 如何阻止 IntelliJ 在代码中隐藏字符
- python - 如何逐行对文本文件进行排序
- sql - 如何在 Oracle SQL 中的第一个连字符之后和第三个连字符之前提取数据
- unity3d - 如何通过更改值修复 Unity 动画问题
- php - Laravel - 同时 AJAX 更新导致模型上的竞争条件
- android - Facebook 的登录按钮上的 setReadPermissions() 已弃用 - 改用什么?
- python - 为什么`.keys()` 会为 Pandas `DataFrame` 返回 `Index`?
- mysql - 如何搜索我的数据库并返回部分单词的结果?
- yacc - 如何让重新定义 YYSTYPE 正常工作?