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

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

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


当前回答

$('a[href="#"]').click(function(e) {e.preventDefault(); });

其他回答

在#之后添加内容将页面的焦点设置为具有该ID的元素。最简单的解决方案是使用#/,即使你使用的是jQuery。但是如果你在jQuery中处理事件,event. preventdefault()是可行的方法。

如果你想使用一个锚,你可以像其他答案一样使用http://api.jquery.com/event.preventDefault/。

您还可以使用任何其他元素,如span,并将单击事件附加到它。

$("span.clickable").click(function(){
alert('Yeah I was clicked');
});

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

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

我使用的方法是这样的:

<a href="#null" 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()。