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

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

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


当前回答

你也可以在处理jquery后返回false。

Eg.

$(".clickableAnchor").live(
    "click",
    function(){
        //your code
        return false; //<- prevents redirect to href address
    }
);

其他回答

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

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

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

你也可以在处理jquery后返回false。

Eg.

$(".clickableAnchor").live(
    "click",
    function(){
        //your code
        return false; //<- prevents redirect to href address
    }
);

有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()。

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

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

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

你甚至可以这样写:

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

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