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

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

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


当前回答

这是旧的,但是。以防有人在搜索中发现这个。

只要使用“#/”而不是“#”,页面就不会跳转。

其他回答

带有href="#"的链接几乎总是应该被按钮元素替换:

<button class="someclass">Text</button>

使用带有href="#"的链接也是一个可访问性问题,因为这些链接将对屏幕阅读器可见,屏幕阅读器将显示“链接-文本”,但如果用户单击它,它不会去任何地方。

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

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

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

<a href="#! "">链接</a>和<a href="#/">链接</a>不工作,如果一个人必须点击相同的输入不止一次。它只需要在多个输入上进行1次事件单击。

最好的方法仍然是使用<a href="#">Link</a>

然后,

event.preventDefault();

你甚至可以这样写:

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

我不确定这是一个更好的方法,但这是一个方法:)

只需使用<input type="button" />而不是<a>,并使用CSS样式它看起来像一个链接,如果你愿意。

按钮是专门用于单击的,它们不需要任何href属性。

最好的方法是使用onload动作来创建按钮,并通过javascript将其附加到需要的位置,因此禁用javascript后,它们根本不会显示,也不会使用户感到困惑。

当您使用href="#"时,您会得到大量指向相同位置的不同链接,当代理不支持JavaScript时,这将不起作用。