如何避免href="#&引用;在javascript锚定链接中

如何避免href="#&引用;在javascript锚定链接中,javascript,html,Javascript,Html,除了使用href=“#”,还有更好的方法定义执行javascript的锚定链接吗?我不喜欢使用此href的主要原因是它使浏览器历史记录无效。后退按钮只是从URL中删除“#”。如果你使用任何类型的返回链接,除非他们点击两次,否则它将无法工作 如果我的Javascript是内联的,我可以使用href=“Javascript:func()”,但当监听器从外部脚本文件附加时,这将不起作用 因此,我只是在寻找一个更清晰的方向来指向我的空锚。如果你“必须”使用我发布了一个备选答案,以便其他偶然发现这一点的人

除了使用
href=“#”
,还有更好的方法定义执行javascript的锚定链接吗?我不喜欢使用此href的主要原因是它使浏览器历史记录无效。后退按钮只是从URL中删除“#”。如果你使用任何类型的返回链接,除非他们点击两次,否则它将无法工作

如果我的Javascript是内联的,我可以使用
href=“Javascript:func()”
,但当监听器从外部脚本文件附加时,这将不起作用


因此,我只是在寻找一个更清晰的方向来指向我的空锚。

如果你“必须”使用
我发布了一个备选答案,以便其他偶然发现这一点的人看到这是一个选项。当我问起这个问题时,我不知道您可以使用代码
href=“javascript:void(0)”
。据我所知,这并没有任何负面影响,以后您仍然可以将单击侦听器附加到它

此外,新的HTML规范显然声明锚定标记甚至不需要
href
属性,删除
href
属性似乎在我尝试过的任何浏览器(Chrome、Firefox、Opera、Edge)中都没有任何副作用。尽管如此,我还是坚持了无效选项


最后,我在某个地方读到另一个选项是使用
href=“#!”
。我假设只要您没有
的id,这就没有任何作用在你的页面上,但我还没有测试这个。编辑:对此进行了测试-它与单独使用
href=“#”
有相同的问题。

除非您使用JavaScript路由到另一个页面,否则您不应该首先使用锚定。使用按钮。否则,这里有很多选项:我的问题是我需要在同一个小部分中同时使用链接和Javascript按钮。这两种类型的项目将被视为同一组按钮。因此,我必须为这两个元素设置样式,使其看起来完全相同。但如果这是最好的方法,我也许可以尝试一下。这就是通常的做法。:)