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

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

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


当前回答

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

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

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

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

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

.js li { cursor: pointer; }

其他回答

CSS:

.auto            { cursor: auto; }
.default         { cursor: default; }
.none            { cursor: none; }
.context-menu    { cursor: context-menu; }
.help            { cursor: help; }
.pointer         { cursor: pointer; }
.progress        { cursor: progress; }
.wait            { cursor: wait; }
.cell            { cursor: cell; }
.crosshair       { cursor: crosshair; }
.text            { cursor: text; }
.vertical-text   { cursor: vertical-text; }
.alias           { cursor: alias; }
.copy            { cursor: copy; }
.move            { cursor: move; }
.no-drop         { cursor: no-drop; }
.not-allowed     { cursor: not-allowed; }
.all-scroll      { cursor: all-scroll; }
.col-resize      { cursor: col-resize; }
.row-resize      { cursor: row-resize; }
.n-resize        { cursor: n-resize; }
.e-resize        { cursor: e-resize; }
.s-resize        { cursor: s-resize; }
.w-resize        { cursor: w-resize; }
.ns-resize       { cursor: ns-resize; }
.ew-resize       { cursor: ew-resize; }
.ne-resize       { cursor: ne-resize; }
.nw-resize       { cursor: nw-resize; }
.se-resize       { cursor: se-resize; }
.sw-resize       { cursor: sw-resize; }
.nesw-resize     { cursor: nesw-resize; }
.nwse-resize     { cursor: nwse-resize; }

也可以将光标设置为图像:

.img-cur {
   cursor: url(images/cursor.png), auto;
}

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

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

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

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

仅为完整起见:

cursor: -webkit-grab;

它还提供了一只手,当移动图像的视图时,你会知道这只手。

如果您想使用jQuery和mousedown模拟抓取行为,这非常有用。

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

ul li {
  cursor: pointer;
}

或者

ul li:hover {
  cursor: pointer;
}

只需输入此代码。

li{cursor: pointer;}