Сделать курсор рукой, когда пользователь наводит курсор на элемент списка - PullRequest
1806 голосов
/ 21 июня 2010

У меня есть список, и у меня есть обработчик щелчка для его элементов:

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

Как я могу изменить указатель мыши на указатель руки (как при наведении курсора на кнопку)?Прямо сейчас указатель превращается в указатель выделения текста, когда я наводю указатель мыши на элементы списка.

Ответы [ 21 ]

3011 голосов
/ 21 июня 2010

В свете прошедшего времени, как уже упоминали люди, теперь вы можете безопасно использовать:

li { cursor: pointer; }
262 голосов
/ 04 января 2017

Использовать для li:

li:hover {
    cursor: pointer;
}

См. Дополнительные свойства курсора с примерами после запуска фрагмента:

An animation showing a cursor hovering over a div of each class

.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; }

.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>
146 голосов
/ 21 июня 2010

Для этого вам не требуется jQuery, просто используйте следующий контент CSS:

li {cursor: pointer}

И вуаля!Handy.

75 голосов
/ 07 января 2013

Использование:

li:hover {
    cursor: pointer;
}

Другие действительные значения (которые hand являются не ) для текущей спецификации HTML можно просмотреть здесь .

42 голосов
/ 27 октября 2011

Используйте

cursor: pointer;
cursor: hand;

, если хотите получить кроссбраузерный результат!

38 голосов
/ 11 сентября 2014

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;
}
16 голосов
/ 02 марта 2014

Я думаю, что было бы разумно показывать курсор в виде руки / указателя только при наличии JavaScript.Таким образом, у людей не будет ощущения, что они могут нажать на что-то, на что нельзя нажать.

Чтобы добиться этого, вы можете использовать JavaScript для добавления CSS к элементу, например:

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

Или цепочканепосредственно к обработчику щелчков.

Или когда используется модернизатор в сочетании с <html class="no-js">, CSS будет выглядеть так:

.js li { cursor: pointer; }
16 голосов
/ 06 июня 2013
li:hover {cursor: hand; cursor: pointer;}
15 голосов
/ 05 декабря 2012

Для полного кросс-браузера, используйте:

cursor: pointer;
cursor: hand;
14 голосов
/ 18 августа 2016

Просто для полноты:

cursor: -webkit-grab;

Он также дает руку, ту, которую вы знаете при перемещении изображения вокруг.

Это очень полезно, если вы хотите эмулировать поведение захвата , используя jQuery и mousedown.

Enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...