从JavaScript确定元素的自定义CSS光标热点坐标

时间:2013-02-19 19:27:49

标签: javascript css cursor

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

Problem demonstrated in this JSFiddle

更新:在某些浏览器中似乎只有这种方式,特别是(在我的测试中)Mac Chrome和Safari。

更新2:在WebKit(8536.26.17,537+)的最新每晚构建中看起来这实际上是固定的,所以我想除了它是一个bug之外没有其他真正的答案,并且有已经修好了。

例如:

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 个答案:

答案 0 :(得分:1)

据我所知,通过查看CSS 2.1规范,不包括X和Y坐标:

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

此外,Mozilla Developer Network将X,Y坐标列为"实验。"

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