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

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

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


当前回答

您可以使用#0作为href,因为0不允许作为id,所以页面不会跳转。

<a href="#0" class="someclass">Text</a>

其他回答

有4种类似的方法可以防止页面在不使用JavaScript的情况下跳转到顶部:

选项1:

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

选项2:

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

选项3:

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

选项4(不推荐):

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

但是如果你在jQuery中处理点击事件,最好使用event. preventdefault()。

解决方案#1:(普通)

<a href="#!" class="someclass">Text</a>

解决方案#2:(需要javascript)

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

解决方案#3:(需要jQuery)

<a href="#" class="someclass">Text</a>
<script>
$('a.someclass').click(function(e) {
    e.preventDefault();
});
</script>

我总是用:

<a href="#?">Some text</a>

当试图阻止页面跳转时。不确定这是否是最好的,但它似乎已经工作了很多年。

我使用的方法是这样的:

<a href="#null" class="someclass">Text</a>
$('a[href="#"]').click(function(e) {e.preventDefault(); });