0

キャンバスは独自のローカル座標系を使用するため、マウス クリックのグローバルな X、Y を確認し、それらを座標系に変換する方法をいくつか試しました。これを行うには、jQuery を使用してキャンバス自体から左マージンと上マージンを差し引きます。

.offset()

または使用して

getBoundingClientRect()

Javascriptで。

残念ながら、これらは両方ともブラウザのスクロールの影響を受けます。より明確な値を提供するプロパティが不足している可能性があります(クロスブラウザー対応であることを知っているため、e.clientXとe.clientYを使用します)... DOM要素のすべてのプロパティを熟読してきましたそして、どれも私が必要とするものを完全に与えてくれないようです...

マウスのクリックを座標系に関連付けるために、ドキュメントの上部からどれだけ離れているかを決定するスクロールに依存しない方法が必要です。

...または私はばかであり、オブジェクトに関連するマウスクリックを検出するクロスブラウザーの方法がありますか? 前もって感謝します。

4

1 に答える 1

0

私が見つけることができる最善の方法は、 $('#').offset() などの jQuery メソッドを使用してから、スクロールを考慮することです。または、 Object.getBoundingClientRect() を使用できますが、ブラウザー間の互換性についてはわかりません。

他の誰も声を上げたくはありませんでした(笑)。

于 2013-04-02T06:27:14.433 に答える