11

当我尝试在 JavaScript 中获取 HTML 元素的完整 CSS 光标定义时,由于某种原因它忽略了热点(目标像素)坐标,导致我的光标将其热点重置为光标图像的左上角像素(即不是一件好事)。

此 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()了,但结果是一样的。

这对我来说似乎是一个相当大的疏忽。该信息是否只是丢失并且不再可检索?

4

1 回答 1

1

据我查看 CSS 2.1 规范可知,X 和 Y 坐标不包括在内:

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

此外,Mozilla 开发者网络将 X、Y 坐标列为“实验性”。

如果规范中没有某些内容,那么您可以期望浏览器具有不同的,有时是冲突的属性实现。

于 2013-03-02T19:57:03.440 回答