除了这些方法之外,有没有办法建立空链接?
<a href="javascript:;">Example</a>
<a href="javascript:void(0);">Example</a>
<a href="#">Example</a>
我不介意使页面跳到顶部的东西,但我不希望它改变地址栏中的URL。理想的链接是尽可能与the ones featured on navigation boxes on Wikipedia相似的链接,但是除了与眼睛相关之外,还有更多的链接,因为它有一个相当大的脚本。我只想找到要放入a
标签的内容。
提前致谢。
答案 0 :(得分:16)
你只想要在<a>
标签中推送一些东西? OK:
<a href="#" onclick="return false;">Example</a>
将其与您问题中的任何href=
方法结合使用。
鉴于一个没有去任何地方的链接是相当无用的,我可以假设你想在点击链接时启动一些JavaScript功能吗?如果是这样,请执行以下操作:
<a href="#" onclick="yourFunctionHere(); return false;">Example</a>
答案 1 :(得分:11)
#method是最简单的,并且始终兼容。使用href =#然而,将跳转到页面顶部。要防止跳转,只需引用一个未命名的锚点。像这样:
<a href=#nothing >This link has a null href!</a>
<a href=#doesnotexist >This link has a null href!</a>
<a href=#null >This link has a null href!</a>
<a href=#void >This link has a null href!</a>
<a href=#whatever >This link has a null href!</a>
答案 2 :(得分:5)
维基百科使用第三种选择。要使用它,您可以使用此HTML:
<a href="#">link</a>
然后使用JavaScript附加事件处理程序:
// I assume `link` is set the element shown above.
link.addEventListener('click', function(e) {
alert("You clicked me!");
e.preventDefault();
e.stopPropagation();
return false;
}, false);
addEventListener
应该可以在大多数现代浏览器中使用,但为了更兼容和更简洁,您可能希望使用像jQuery这样的JavaScript库:
$("a").click(function() {
alert("You clicked me!");
return false;
});
答案 3 :(得分:3)
不,所有可能有效的替代方案都没有完成IMO。我使用Chrome和Firefox进行了以下实验,设法找出问题和答案中已经提出的2个替代方案。
失败的(非空链接):
这个根本没有呈现为链接,也不可点击。
<a>null-link-1</a>
点击下一个替代方案,移至文档开始 - 不是空链接。
<a href="">null-link-2</a>
点击下一个替代方案,导航离开文档 - 不是空链接。
<a href=";">null-link-3</a>
单击时的下一个替代方法,单击时,将移至文档开始 - 而非空链接。
<a href="" onclick="javascript:;">null-link-4</a>
现在,以下是有效的:真正的空链接:
下面的两个替代方案,当点击时,严格执行任何操作 - null链接?是
<a href="" onclick="return false;">null-link-5</a>
这另一个几乎与上述相同,但作为一个真正的替代方案提供,主要是为了简洁。
<a href="" onclick="return !1;">null-link-6</a>
注意:我的工作解决方案与 nnnnnn 的解决方案之间的主要区别之一是我偏好空白href
,否则,他们会工作同样的原则。
答案 4 :(得分:1)
创建空链接的不同方法。
<a href="#!">Example link</a>
OR
<a href="#" onclick="return false;">Example link</a>
答案 5 :(得分:-4)
我认为你可以把href完全留空,这将显示当前页面的链接:
<a href="" >Example</a>