Переводим курсор браузера из «жду» в «авто» без перемещения мыши - PullRequest
67 голосов
/ 12 ноября 2009

Я использую этот код jQuery для установки указателя мыши в его занятое состояние (песочные часы) во время вызова Ajax ...

$('body').css('cursor', 'wait');

и соответствующий код, чтобы вернуть его в нормальное состояние ...

$('body').css('cursor', 'auto');

Это прекрасно работает ... в некоторых браузерах.

В Firefox и IE, как только я выполню команду, курсор мыши изменится. Это поведение, которое я хочу.

В Chrome и Safari курсор мыши заметно не меняется с «занято» на «авто», пока пользователь не переместит указатель.

Какой лучший способ заставить неохотные браузеры переключать указатель мыши?

Ответы [ 15 ]

0 голосов
/ 04 февраля 2011

Привет, ребята, у меня есть подходящее решение, которое работает во всех браузерах. Предполагается, что используется библиотека прототипов. Кто-то может написать это как обычный Javascript. Решение состоит в том, чтобы поместить div поверх всех сразу после того, как вы сбросили курсор и немного встряхнули его, чтобы курсор переместился. Это опубликовано в моем блоге http://arunmobc.blogspot.com/2011/02/cursor-not-changing-issue.html.

0 голосов
/ 18 ноября 2009

Я не пробовал это, но что делать, если вы создадите прозрачный div, который абсолютно позиционируется и заполняет область просмотра непосредственно перед изменением CSS. Затем, когда CSS изменяется на теле, удалите div. Это может вызвать событие наведения курсора мыши на теле, которое может заставить курсор обновиться до последнего значения CSS.

Опять же, я не проверял это, но оно того стоит.

0 голосов
/ 12 ноября 2009

Вероятно, это ошибка в WebKit; Вы должны сообщить об этом .

0 голосов
/ 12 ноября 2009

Попробуйте использовать правильное значение CSS для свойства курсора:

$('body').css('cursor','wait');

http://www.w3schools.com/CSS/pr_class_cursor.asp

0 голосов
/ 12 ноября 2009

Не думаю, что вы сможете это сделать.

Однако попробуйте изменить положение прокрутки; это может помочь.

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