изменить курсор на указатель пальца - PullRequest
203 голосов
/ 11 января 2012

У меня есть a, и я не знаю, что мне нужно вставить в «onmouseover», чтобы курсор изменился на указатель пальца, как обычная ссылка:

<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover=""> A </a>

Я прочиталгде-то, что мне нужно положить:

onmouseover="cursor: hand (a pointing hand)"

Но это не работает для меня.

Кроме того, я не уверен, считается ли это JavaScript, CSS или просто обычным HTML.

Ответы [ 8 ]

420 голосов
/ 11 января 2012
<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover="" style="cursor: pointer;"> A </a>

Это css.

Или в таблице стилей:

a.menu_links { cursor: pointer; }
48 голосов
/ 11 января 2012

Вы можете сделать это в CSS:

a.menu_links {
    cursor: pointer;
}

Это на самом деле поведение по умолчанию для ссылок. Вы должны либо каким-то образом переопределить его в другом месте вашего CSS, либо там нет атрибута href (он отсутствует в вашем примере).

20 голосов
/ 06 ноября 2014

Мне нравится использовать это, если у меня есть только одна ссылка на странице:

onMouseOver="this.style.cursor='pointer'"
8 голосов
/ 11 января 2012

в css написать

a.menu_links:hover{ cursor:pointer}
7 голосов
/ 11 сентября 2015

Вот что-то классное, если вы хотите пройти лишнюю милю с этим. в URL вы можете использовать ссылку или сохранить изображение PNG и использовать путь. например:

URL ( 'активы / ГИМ / theGoods.png');

ниже указан код:

.cursor{
  cursor:url(http://www.icon100.com/up/3772/128/425-hand-pointer.png), auto;
}

Так что это будет работать только при размере 128 X 128, больше и изображение не будет загружаться. Но вы можете использовать практически любое изображение! Это будет рассматривать чистый CSS3 и некоторые HTML. все, что вам нужно сделать в HTML это

<div class='cursor'></div>

и только в этом div этот курсор будет отображаться. Поэтому я обычно добавляю его в тег body.

5 голосов
/ 27 сентября 2015

Я думаю, что «лучший ответ» выше, хотя и программно точный, на самом деле не отвечает на поставленный вопрос.Вопрос состоит в том, как изменить указатель в событии наведения мыши.Я вижу сообщения о том, что где-то может быть ошибка, которая не отвечает на вопрос.В принятом ответе событие наведения мыши пустое (onmouseover=""), и вместо него включена опция стиля.Недоумение, почему это было сделано.

Может быть, со ссылкой на запрос не было ничего плохого.рассмотрим следующий html:

<a id=test_link onclick="alert('kinda neat);">Click ME!</a>

Когда пользователь щелкает мышью по этой ссылке, указатель не изменится на руку ... вместо этого указатель будет вести себя так, как будто он находится над обычным текстом.Кто-то может этого не хотеть ... и поэтому указатель мыши должен быть изменен.

ответ на этот вопрос таков (который был опубликован другим):

<a id=test_link onclick="alert('Nice!');"
       onmouseover="this.style.cursor='pointer';">Click ME!</a>

Тем не менее, это ... кошмар, если у вас их много, или вы используете такие вещи повсюду и решаете внести какие-то изменения или наткнуться на ошибку.Лучше сделать для него класс CSS:

a.lendhand {
  cursor: pointer;
}

тогда:

<a class=lendhand onclick="alert('hand is lent!');">Click ME!</a>

Есть много других способов, которые, возможно, будут лучше, чем этот метод. DIV s, BUTTON s, IMG s и т. Д. Могут оказаться более полезными.Однако я не вижу вреда в использовании <a>...</a>.

jarett.

4 голосов
/ 11 января 2012

Добавьте атрибут href, чтобы сделать его действительной ссылкой, и return false; в обработчике событий, чтобы он не вызывал навигацию;

<a href="#" class="menu_links" onclick="displayData(11,1,0,'A'); return false;" onmouseover=""> A </a>

(Или заставьте displayData() вернуть false и ..="return displayData(..)

2 голосов
/ 10 августа 2017

Решение с использованием чистого CSS, как указано в ответе и помечено как лучшее, не подходит для этой ситуации.

Пример в этом разделе не имеет нормального статического атрибута href, он вызывает только JS, поэтомуне будет ничего делать без JS.

Так что хорошо включать указатель только с JS.Таким образом, решение

onMouseOver="this.style.cursor='pointer'"

, как упомянуто выше (но я не могу комментировать там), является лучшим в этом случае.(Но, в общем, для обычных ссылок, не требующих JS, лучше работать с чистым CSS без JS.)

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