我有一个列表,并且有一个点击处理程序:

<ul>
  <li>foo</li>
  <li>goo</li>
</ul>

如何将鼠标指针更改为手指针(如悬停在按钮上)?现在,当我将鼠标悬停在列表项上时,指针变成了文本选择指针。


当前回答

使用HTML黑客

注意:不建议这样做,因为这被认为是不好的做法

将内容包装在包含href属性的锚定标记中,无需显式应用游标:指针;具有锚点财产副作用的属性(用CSS修改):

<a href=“#”style=“text-decoration:initial;color:inital;”><div>这是一种不好的做法,但它有效</分区></a>

其他回答

为了能够让任何东西都得到“mousechange”处理,您可以添加一个CSS类:

mousechange:悬停{光标:指针;}<span class=“mousechange”>此处显示一些文本</span>

我不会说使用光标:指针,因为它只适用于InternetExplorer5.5及以下版本,而InternetExplorer6是随WindowsXP(2002)提供的。只有当浏览器停止工作时,人们才会得到升级的提示。此外,在Visual Studio中,它将在该条目下面加上红色下划线。它告诉我:

验证(CSS 3.0):“hand”不是“cursor”的有效值所有物

<style>
.para{
    color: black;
}
.para:hover{
    cursor: pointer;
    color: blue;
}
</style>
<div class="para">

在上面的HTML代码中,[:hover]用于指示以下样式只能应用于悬停或将鼠标光标保持在上面。

CSS中有几种类型的游标:

查看光标类型的以下代码:

<style>
.alias {cursor: alias;}
.all-scroll {cursor: all-scroll;}
.auto {cursor: auto;}
.cell {cursor: cell;}
.context-menu {cursor: context-menu;}
.col-resize {cursor: col-resize;}
.copy {cursor: copy;}
.crosshair {cursor: crosshair;}
.default {cursor: default;}
.e-resize {cursor: e-resize;}
.ew-resize {cursor: ew-resize;}
.grab {cursor: -webkit-grab; cursor: grab;}
.grabbing {cursor: -webkit-grabbing; cursor: grabbing;}
.help {cursor: help;}
.move {cursor: move;}
.n-resize {cursor: n-resize;}
.ne-resize {cursor: ne-resize;}
.nesw-resize {cursor: nesw-resize;}
.ns-resize {cursor: ns-resize;}
.nw-resize {cursor: nw-resize;}
.nwse-resize {cursor: nwse-resize;}
.no-drop {cursor: no-drop;}
.none {cursor: none;}
.not-allowed {cursor: not-allowed;}
.pointer {cursor: pointer;}
.progress {cursor: progress;}
.row-resize {cursor: row-resize;}
.s-resize {cursor: s-resize;}
.se-resize {cursor: se-resize;}
.sw-resize {cursor: sw-resize;}
.text {cursor: text;}
.url {cursor: url(myBall.cur),auto;}
.w-resize {cursor: w-resize;}
.wait {cursor: wait;}
.zoom-in {cursor: zoom-in;}
.zoom-out {cursor: zoom-out;}
</style>

单击以下链接以查看光标属性的操作方式:

https://www.w3schools.com/cssref/tryit.asp?filename=trycss_cursor

您可以在悬停时更改它,也可以只在列表项上指定光标:指针,两者都可以。

ul li {
  cursor: pointer;
}

或者

ul li:hover {
  cursor: pointer;
}

只需执行以下操作:

li { 
  cursor: pointer;
}

我将其应用于您的代码,以了解其工作原理:

李{光标:指针;}<ul><li>食品</li><li>粘的,粘的</li></ul>

注意:也不要忘记,您可以使用自定义光标创建任何手形光标,您可以创建像这样的最喜欢的手形图标,例如:

第二部分{显示:块;宽度:400px;高度:400px;背景:红色;光标:url(http://findicons.com/files/icons/1840/free_style/128/hand.png)4 12,自动;}<div></div>

我认为在JavaScript可用时只显示手/指针光标是明智的。因此,人们不会觉得自己可以点击不可点击的东西。

为了实现这一点,您可以使用JavaScript库jQuery向元素添加CSS,如下所示

$("li").css({"cursor":"pointer"});

或者将其直接链接到单击处理程序。

或者当modernizer与<html class=“no js”>结合使用时,CSS将如下所示:

.js li { cursor: pointer; }