Определить элементы пользовательских кодов Hotspot с помощью JavaScript.

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

Проблема, продемонстрированная в этом JSFiddle.

Обновление:. Похоже, что это только в некоторых браузерах, в частности (в моих тестах) Mac Chrome и Safari.

Обновление 2: Похоже, что это действительно исправлено в новейшей ночной сборке WebKit (8536.26.17, 537+), поэтому я думаю, что нет реального ответа, требуемого, кроме этого, ошибки и уже исправлено.

Например:

var elem = document.createElement("div");
elem.style.cursor = "url('path/to/cursor') 9 9, auto";
console.log( elem.style.cursor );

Выходы:

url(path/to/cursor), auto

Есть ли способ получить эти координаты из стиля после их установки? Я попробовал window.getComputedStyle(), но он имеет тот же результат.

Это кажется довольно серьезным недосмотром для меня. Разве эта информация просто потеряна и больше не может быть восстановлена?

Ответ 1

Насколько я могу судить по просмотру спецификации CSS 2.1, координаты X и Y не включены:

http://www.w3.org/TR/CSS21/ui.html#cursor-props

Кроме того, Сеть разработчиков Mozilla перечисляет координаты X, Y как "экспериментальные".

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