Предотвращение изменения курсора при нажатии на ссылку в Chrome - PullRequest
2 голосов
/ 05 июля 2011

Нажатие на ссылку в Chrome (не Safari или Firefox) меняет курсор с указателя на стрелку.Можно ли предотвратить такое поведение?Т.е. можно ли после нажатия указателя удерживать указатель, но пока курсор все еще находится над ссылкой?

РЕДАКТИРОВАТЬ: Хорошо, поэтому я провел еще немного тестирования.Прежде всего, единственная причина, по которой кто-то хотел бы, чтобы курсор оставался указателем после нажатия на ссылку, заключается в том, что ссылка фактически не загружает другую страницу, а вместо этого запускает событие JS.

<a href="test">Test</a>

// JQuery
$("a").click(function(event) { event.preventDefault(); }

Сприведенный выше код, event.preventDefault (или возвращающий false), позволит курсору оставаться указателем после щелчка.Этого будет достаточно для большинства применений, а именно для запуска DOM-манипуляций и / или AJAX-запросов.

Проблема в history.pushState ():

<a href="test">Test</a>

// JQuery
$("a").click(function(event) {
    history.pushState(arg1, arg2, url);
    event.preventDefault(); return false;
}

Здесь указатель ИЗМЕНЯЕТСЯ настрела.Любые идеи о том, как остановить это?

Ответы [ 3 ]

2 голосов
/ 05 июля 2011

Это звучит как проблема CSS. Найдите код, подобный следующему:

::-webkit-any-link:hover,
::-webkit-any-link:active { cursor: pointer; }

Это повлияет на все ссылки (например, a[href]), но только в WebKit. Возможно, что-то еще мешает Safari сделать это.

ОБНОВЛЕНИЕ ДАНО РАСШИРЕННЫЙ ВОПРОС:

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

Пожалуйста, отправьте отчет на http://bugs.chromium.org/

1 голос
/ 05 июля 2011

Вы можете явно указать CSS целевого элемента, чтобы он включал -

#element {
    cursor: pointer;
}


См. http://www.quirksmode.org/css/cursor.html#note, если вам требуется поддержка IE 5.5.

0 голосов
/ 09 ноября 2011

А пока я думаю об этом отчаянном обходном пути:

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