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

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

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


当前回答

随着时间的推移,正如人们所提到的,您现在可以安全地使用:

li { cursor: pointer; }

其他回答

所有其他响应都建议使用标准CSS指针,但有两种方法:

应用CSS属性cursor:pointer;到元素。(这是光标悬停在按钮上时的默认样式。)应用CSS属性cursor:url(pointer.png);为指针使用自定义图形。如果您希望确保用户体验在所有平台上都是相同的(而不是让浏览器/OS决定指针光标的外观),这可能更可取。注意,如果找不到图像,可以添加回退选项,包括辅助url或任何其他选项,即光标:url(pointer.png,fallball.png,pointer);

当然,这些可以通过以下方式应用于列表项:li{cursor:pointer;},作为class.class{curator:pointer:},或者作为每个元素style=“cursor:ppointer;”的style属性的值。

也可以使用以下样式:

li {
    cursor: grabbing;
}

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

ul li {
  cursor: pointer;
}

或者

ul li:hover {
  cursor: pointer;
}

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

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

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

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

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

.js li { cursor: pointer; }
li:hover {cursor: hand; cursor: pointer;}