我目前使用jQuery的<a>标签来启动像点击事件等事情。

例如<a href="#" class="someclass">Text</a>

但我讨厌“#”使页面跳转到页面顶部。我能做什么呢?


当前回答

对我来说最简单的就是这样做。

<a href=“#” onclick=“return false;”>一些文本</a>

使用JS的原因是大多数现代网站都依赖于它。

其他回答

你可以只传递一个没有href属性的锚标记,并使用jQuery来执行所需的操作:

< class = " foo " > < / >的酒吧

在jQuery中,当你处理点击事件时,返回false以阻止链接响应通常的方式阻止默认操作,即访问href属性,从发生(根据PoweRoy的评论和Erik的回答):

$('a.someclass').click(function(e)
{
    // Special stuff to do when this link is clicked...

    // Cancel the default action
    e.preventDefault();
});

如果元素没有有意义的href值,那么它就不是真正的链接,那么为什么不使用其他元素呢?

正如Neothor所建议的那样,如果样式正确,span将作为一个可以点击的项目而显而易见。你甚至可以附加一个悬停事件,让元素在用户鼠标移动时“亮起”。

然而,话虽如此,你可能想要重新考虑你的网站的设计,这样它就可以在没有javascript的情况下运行,但在有javascript时可以通过javascript进行增强。

我用过:

<a href="javascript://nop/" class="someClass">Text</a>

如果你想要迁移到同一页面上的锚节,而不需要页面跳转,请使用:

只要用“#/”而不是“#” 如

<a href="#/home">Home</a>
<a href="#/about">About</a>
<a href="#/contact">contact</a> page will not jump up on click..