【问题标题】:href must not reloadhref 不得重新加载
【发布时间】:2013-09-07 11:19:39
【问题描述】:

我正在测试以下链接:

<a href="#">Link</a>

但是,正如预期的那样,它会重新加载我当前的页面。如何防止它重新加载页面,但保持分配给它的 -a- 标记?

谢谢 ;)

【问题讨论】:

  • 你可以这样做:&lt;a href="javascript:void(0)"&gt;Link&lt;/a&gt;

标签: html hyperlink


【解决方案1】:

如果您不希望它表现得像一个链接,那么就不要使用链接标签。这样做会损害页面的可访问性,而您不希望这样。除了浏览器(想想屏幕阅读器)之外,还有其他浏览网站的方式,它依赖于页面元素的语义。如果您只是想应用样式,请使用 span

如果你还想用anchor,可以用这个——

<a href="#" onclick="return false;">Link</a>

这将阻止您的页面重新加载。

【讨论】:

  • 我打算回答同样的问题,但我认为他正在使用base 标签,这就是导致重新加载的原因
  • 是的,这就是我之前的想法,只是需要意见。谢谢! :D
  • 大家好,但是如果你想在 url 中添加一些东西,比如参数 href="?selected_user={{user.id}}" 但你不希望页面刷新了吗?
  • 我在这里添加了一个扩展场景的新问题。知道答案的请回复。 stackoverflow.com/questions/69264347/…
【解决方案2】:

只需在 href 中添加 javascript:void(0) 即可。

<a href="javascript:void(0)">Link</a>

【讨论】:

  • 出于安全预防原因,不鼓励在 url 中注入 javascript。
【解决方案3】:

我认为javascript:; 也可以。

<a href="javascript:;">Link</a>

【讨论】:

    【解决方案4】:

    干脆不指定href属性:

    &lt;a&gt;Link&lt;/a&gt;

    没有href的链接...

    • 点击后不会重新加载页面
    • 悬停时不会将光标更改为pointer
    • 不将文本样式更改为underlined
    【解决方案5】:

    如果你把# 放在像&lt;a href="#"&gt;&lt;/a&gt; 这样的href 中,那么点击时链接将不会刷新或重新加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-20
      • 2017-11-29
      • 2015-12-17
      • 2016-04-12
      • 1970-01-01
      • 2021-09-10
      相关资源
      最近更新 更多