将光标更改为手指指针


234

我有这个a,我不知道我需要插入“ onmouseover”中,以便光标将像常规链接一样变为手指指针:

<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover=""> A </a>

我读了一些需要写的地方:

onmouseover="cursor: hand (a pointing hand)"

但这对我不起作用。

另外,我不确定这是JavaScript,CSS还是纯HTML。


它是CSS,onmouseover事件是一个javascript事件。
Scott

您不要将css直接放在onmouseover =“”中。另外,将光标悬停在链接上时,cursor:hand应该是默认操作。如果这没有发生,那么可能还有另一个问题。
2012年



3
大声笑“手.....一个指向手!” 哈哈对不起,我无法抗拒。
克里斯汀

Answers:


458
<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover="" style="cursor: pointer;"> A </a>

是css。

或在样式表中:

a.menu_links { cursor: pointer; }

2
经过测试之后,似乎有必要同时具有onmouseover =“” AND style = cursor:pointer;“。如果仅具有样式标签,则在单击鼠标后,指针指针光标将消失/默认为标准指针。斯科特,好帖子,谢谢
2015年

1
@DnfD你只需要onmouseover如果没有 href定义。如果像一个标准的定位,有一个href定义,onmouseover是没有必要的。
斯科特,

@DnfD接受的答案确实很糟糕。它可以完成工作,但还不清楚。删除mouseover=""style="cursor: pointer;"离开class="menu_links" 它会起作用!不管是否href在那里。
Jarett Lloyd

@Scott没有,你没有需要mouseover在那里活动。请参阅我之前对DnfD的评论
Jarett Lloyd

@JarettLloyd在很大程度上取决于浏览器支持和CSS构造。这是2012年的答案。六年多来,情况发生了变化。
斯科特(Scott)

52

您可以在CSS中执行此操作:

a.menu_links {
    cursor: pointer;
}

这实际上是链接的默认行为。您必须以某种方式在CSS的其他地方覆盖了它,或者其中没有href属性(示例中缺少该属性)。


我没有href,我不想离开该页面。它的链接会触发JS函数,如果我插入href =“#”就会弄乱它并重新加载错误的页面
Dvir Levy 2012年

2
@DvirLevy-所以要么返回false并使用href="#",要么按照我向您展示的那样使用CSS ...
Joseph Silber 2012年

22

如果页面上只有一个链接,我喜欢使用此链接:

onMouseOver="this.style.cursor='pointer'"


7

如果您想为此加倍努力,这很酷。在网址中,您可以使用链接或保存图片png并使用路径。例如:

url('assets / imgs / theGoods.png');

下面是代码:

.cursor{
  cursor:url(http://www.icon100.com/up/3772/128/425-hand-pointer.png), auto;
}

因此,这只能在尺寸为128 X 128的情况下使用,更大的尺寸将无法加载图像。但是您几乎可以使用任何想要的图像!这将被视为纯css3和一些html。您在html中要做的就是

<div class='cursor'></div>

并且仅在该div中会显示该光标。所以我通常将其添加到body标签中。


6

我认为上面的“最佳答案”尽管在编程上是准确的,但实际上并不能回答所提出的问题。该问题询问如何在mouseover事件中更改指针。我看到有关某人可能在某处出错的帖子并未回答该问题。在接受的答案中,mouseover事件为空白(onmouseover=""),而包括了style选项。莫名其妙为什么这样做。

查询者的链接可能没有任何问题。考虑以下html:

<a id=test_link onclick="alert('kinda neat);">Click ME!</a>

当用户将鼠标悬停在此链接上时,指针将不会变为手形……相反,指针的行为就像将鼠标悬停在普通文本上一样。可能不希望这样。因此,需要告诉鼠标指针进行更改。

正在寻找答案(这是另一个发布的):

<a id=test_link onclick="alert('Nice!');"
       onmouseover="this.style.cursor='pointer';">Click ME!</a>

但是,如果您有很多这样的东西,或者在各处使用这种东西并决定进行某种更改或遇到错误,这将是一场噩梦。最好为此创建一个CSS类:

a.lendhand {
  cursor: pointer;
}

然后:

<a class=lendhand onclick="alert('hand is lent!');">Click ME!</a>

有许多其他方法可以说比该方法更好。 DIVBUTTONIMG等可能更有用。我认为使用不会造成任何伤害<a>...</a>

加里特


4

在事件处理程序中添加一个href属性使其成为有效的链接,return false;以防止其导致导航;

<a href="#" class="menu_links" onclick="displayData(11,1,0,'A'); return false;" onmouseover=""> A </a>

(或将displayData()return设为false和..="return displayData(..


3

答案中提到的通过纯CSS解决方案标记为最佳解决方案不适合这种情况。

本主题中的示例不具有常规的static href属性,它仅调用JS,因此如果没有JS,它将不会执行任何操作。

因此,最好仅使用JS打开指针。所以,解决方案

onMouseOver="this.style.cursor='pointer'"

如上所述(在此我不能发表评论)是这种情况下的最佳选择。(但是是的,通常来说,对于不需要JS的普通链接,最好使用不带JS的纯CSS。)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.