当用户hover在列表项目上时,如何让光标成为一只手?

我有一个列表,我有它的项目点击处理程序:

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

如何将鼠标指针改为手形指针(就像当鼠标hover在button上一样)? 当我将鼠标hover在列表项目上时,指针变成文本select指针。

编辑:根据时间的推移,正如人们所提到的,你现在可以安全地使用:

 li { cursor: pointer; } 

你不需要这个jQuery,只需使用下面的CSS:

 li {cursor: pointer} 

瞧! 便利。

 li:hover { cursor: pointer; } 

当前HTML规范的其他有效值(哪些不是 )可以在这里查看。

用于李

 li:hover{ cursor: pointer; } 

运行snippet选项之后,以示例查看更多的游标属性。

在这里输入图像描述

 .auto { cursor: auto; } .deafult { 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; } .cursors > div { float: left; box-sizing: border-box; background:#f2f2f2; border:1px solid #ccc; width: 20%; padding: 10px 2px; text-align: center; white-space: nowrap; &:nth-child(even) { background: #eee; } &:hover { opacity: 0.25 } } 
 <h1>Example of cursor</h1> <div class="cursors"> <div class="auto">auto</div> <div class="default">default</div> <div class="none">none</div> <div class="context-menu">context-menu</div> <div class="help">help</div> <div class="pointer">pointer</div> <div class="progress">progress</div> <div class="wait">wait</div> <div class="cell">cell</div> <div class="crosshair">crosshair</div> <div class="text">text</div> <div class="vertical-text">vertical-text</div> <div class="alias">alias</div> <div class="copy">copy</div> <div class="move">move</div> <div class="no-drop">no-drop</div> <div class="not-allowed">not-allowed</div> <div class="all-scroll">all-scroll</div> <div class="col-resize">col-resize</div> <div class="row-resize">row-resize</div> <div class="n-resize">n-resize</div> <div class="s-resize">s-resize</div> <div class="e-resize">e-resize</div> <div class="w-resize">w-resize</div> <div class="ns-resize">ns-resize</div> <div class="ew-resize">ew-resize</div> <div class="ne-resize">ne-resize</div> <div class="nw-resize">nw-resize</div> <div class="se-resize">se-resize</div> <div class="sw-resize">sw-resize</div> <div class="nesw-resize">nesw-resize</div> <div class="nwse-resize">nwse-resize</div> </div> 

使用

 cursor: pointer; cursor: hand; 

如果你想有一个交叉浏览器的结果!

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; } 
 li:hover {cursor: hand; cursor: pointer;} 

我认为只有当javascript可用时才显示手形/指针光标将是明智的。 所以人们不会觉得他们可以点击一些不可点击的东西。

为了达到这个目的,你可以使用javascript将CSS添加到元素中

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

或直接链接到点击处理程序。

或者当使用modernizer和<html class="no-js"> ,css看起来像这样

 .js li { cursor: pointer; } 

这个线程正在失控,它很快从游标变成了弦乐器。 🙂

值得庆幸的是,当我需要快速提醒时,Google总是把我送到这里,对于完整的跨浏览器,请使用:

 cursor: pointer; cursor: hand; 

只是为了完整:

 cursor: -webkit-grab; 

也给人一个手,你知道的时候移动一个图像的视图。

如果你想使用jquery和mousedown 模拟抓取行为,这是非常有用的。

在这里输入图像描述

 ul li:hover{ cursor: pointer; } 
 ul li:hover{ cursor: pointer; } 

更多鼠标事件检查CSS游标属性

所有其他的答案都build议使用标准的CSS指针,但是,有两种方法:

  1. 应用CSS属性cursor:pointer; 到元素。 (这是光标hover在button上时的默认样式。)

  2. 应用CSS属性cursor:url(pointer.png); 使用自定义graphics作为指针。 如果你想确保所有平台上的用户体验都是相同的(而不是让浏览器/操作系统决定你的指针应该是什么样子的话),这可能会更好。 请注意,可能会添加后备选项,以防图像未find,包括二级地址或任何其他选项,如cursor:url(pointer.png,fallback.png,pointer);

当然这些可以以这种方式应用于列表项目li{cursor:pointer;} ,作为class .class{cursor:pointer;} ,或者作为每个元素的style属性的值style="cursor:pointer;"

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

 <style type="text/css"> .mousechange:hover { cursor:pointer; } </style> <span class="mousechange">Some text here</span> 

我不会说使用cursor:hand因为它只适用于IE 5.5及以下版本,而IE 6则使用XP(2002)。 当浏览器停止工作时,人们只会得到升级的提示。 此外,在Visual Studio中,它会红色的下划线 – 它告诉我“validation(CSS 3.0):”hand“不是”游标“属性的有效值。

为基本的手形符号:尝试

 cursor:pointer 

如果你想像手中的符号一样拖动一些项目,

尝试

 cursor:grab 

你也可以使用下面的样式

 li { cursor: grabbing; } 

只需要做这样的事情:

 li { cursor: pointer; } 

我申请你的代码,看看它是如何工作的:

 li { cursor: pointer; } 
 <ul> <li>foo</li> <li>goo</li> </ul> 

简单地不使用CSS或JS

用锚标签包装内容将做的工作….

  <a><i class="uk-icon-hover uk-icon-info-circle uk-icon-medium" data-uk-tooltip="{pos:'right'}" title="Some Tooltip Here" aria-hidden="true"></i></a> 

我希望这个作品….

这应该工作

 <style> li:hover{ cursor: hand; } </style>