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 Developer Networkは、X、Y 座標を「実験的」としてリストしています。

仕様にないものがある場合は、ブラウザーが異なる、場合によっては競合するプロパティの実装を持っていることが予想されます。

于 2013-03-02T19:57:03.440 に答える