如何避免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按钮。这两种类型的项目将被视为同一组按钮。因此,我必须为这两个元素设置样式,使其看起来完全相同。但如果这是最好的方法,我也许可以尝试一下。这就是通常的做法。:)