关于javascript:空链接创建的最佳方式

Best way to create an <a> link with empty href

本问题已经有最佳答案,请猛点这里访问。

我想创建一个链接,并使用javascript强制链接锚定,我尝试了以下操作:

1
 

它工作得很好,但点击链接后,页面将失去当前位置。

我需要链接有一个href,因为我需要鼠标在浏览时更改光标?

有人能提出建议吗?


您可以使用javascript:void(0)

1
 

国王评论说,你不需要江户十一〔一〕。

通过jquery,您可以通过event.preventdefault()来完成它。

Stop the default action of the event .

1
2
3
$('#ServerSort').click(function(event){
   event.preventDefault(); //or return false;
});


最好的方法是将href设置为#0,如下所示:

1
blabla

原因如下:您将永远不会在ID为0的页面上有任何内容(如果有,无论如何都有问题),而且由于#0不存在,单击事件不会使您返回页面顶部。您不需要JavaScript来完成这项工作,也不应该使用JavaScript。


存在一些选项:

1
 

这些都被认为是不好的做法,我永远不会推荐这样的东西用于生产。我通常在链接到开发阶段不存在的页面时使用第一个选项。

最好,我根本不使用,我在下面的示例中切换到一个跨度:

1
<span id="ServerSort" onclick="return false">Test Link</span>

并相应地设置元素样式:

1
2
3
4
5
6
7
8
9
    <style type="text/css">
    #ServerSort {
        text-decoration:underline;
    }
        #ServerSort:hover {
            color:red;
            cursor:pointer;
        }
</style>

我在编写JS,只是在这里手工编写一个来显示一种不同的方法,它避免了重写默认行为的需要。


1
2
3
 .clickable {
   cursor: pointer;
 }
1
 Foo


你可以试试:

1
 

或者可以使用jquery event.preventDefault()。