制作空链接的方法不同?

时间:2011-09-21 05:24:58

标签: javascript html hyperlink

除了这些方法之外,有没有办法建立空链接?

<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标签的内容。

提前致谢。

6 个答案:

答案 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>