如何为没有href属性的链接设置指针样式的光标。

162

我有很多没有 href 属性的 <a> html 标签,用于进行 onclick 的javascript调用。这些链接没有指针样式的光标,而是文本样式的光标。

如何在不使用 href 属性的情况下设置链接的光标样式为指针?

我知道我可以添加 href="#"。我在html文档中很多地方都这样做了,想知道如何在不使用 href 属性的情况下使链接的光标样式变成指针。


顺便问一下,当你说链接时,是指像“{{link1:test}}”这样的吗?还是只是一个执行一些JavaScript的span或div标签? - Alxandr
7个回答

243

在你的 CSS 文件中添加以下内容...

a:hover {
 cursor:pointer;
}

如果你没有CSS文件,请将以下代码添加到HTML页面的HEAD部分

<style type="text/css">
 a:hover {
  cursor:pointer;
 }
</style>

你也可以在JavaScript的结尾处返回false,以使用href=""属性。

<a href="" onclick="doSomething(); return false;">a link</a>

这个做法有很多好处。比如说,可以提高SEO效果或者在用户没有开启javascript时也能正常使用href=""属性。例如:

<a href="nojavascriptpage.html" onclick="doSomething(); return false;">a link</a>

@see http://www.alistapart.com/articles/behavioralseparation

编辑:值得注意的是 @BalusC 的答案中提到,在 OP 的使用情况下不需要使用 :hover。虽然可以使用 :hover 选择器添加其他样式。


5
使用:hover并非必要,而且在没有href的链接上不能保证起作用。 - Alxandr
我无法想象它不会起作用。这是一个很好的学习方式,你可能希望添加其他类似于带有href属性的链接的行为:背景变化、下划线、颜色等。 - Ross
1
我已经有一段时间没有使用这个了,但是对于<IE6,值得添加一个条件注释来链接到包含“cursor: hand;”的样式。 - David Thomas
@easwee,这是真的,但我喜欢将ie特定的修改保留在它们自己的文件中。只是为了,你懂的,保持卫生之类的东西...=b(哦,我不确定“hand”用于哪个版本。而且我真心希望现在没有太多人在使用IE5...) - David Thomas
这不起作用。在Chrome中,光标被更改为“文本”而不是“指针”。 - ZhekaKozlov
显示剩余4条评论

9
代表可以将光标变成手形,通常用于网页中的链接或可点击元素。

7

如果我没记错的话,可以使用CSS cursor: pointer

要么在你的CSS文件中:

.link_cursor
{
    cursor: pointer;
}

如果您想让某些元素具有链接光标,请添加以下HTML:class="link_cursor"(首选方法)。

或使用内联CSS:

<a style="cursor: pointer;">

5

以下是将光标从箭头变成手形的方法,当鼠标悬停在给定的对象(myObject)上时:

myObject.style.cursor = 'pointer';

1
首先,欢迎来到SO,Lou!在发布/回答问题时,请尽可能提供详细信息,并不要忘记格式化您的代码示例(就像我为您所做的那样)。 - Brian

4
创建一个带有以下CSS的类,并将其添加到带有onclick事件的标签中:
cursor:pointer;

3
给它们都加上一个共同的类(例如link)。然后在CSS文件中添加以下内容:
.link { cursor: pointer; }

或者,如@mxmissile建议的那样,在行内使用style="cursor: pointer;"

-1

这个对我有用:

<a onClick={this.openPopupbox} style={{cursor: 'pointer'}}>

这不是普通的JavaScript。那是什么? - John Lord
看起来像是React内联样式语法,带有点击处理程序,可能是按钮角色。 - Jason Sturges

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接