7

私は HTML5 アプリケーションを開発してきましたが、適切な座標系でターゲット div 内の適切なローカル タッチ/マウス位置を取得するという非常に困難な問題に直面しています。

StackOverflow には多くのソリューションがありますが、それほど簡単ではありません。

「古典的な」解決策は、ターゲット オフセットを計算し、それを pageX と pageY の位置から差し引くことです。多くの人が JQueryoffset関数を使用していますが、ページがスクロールされ、ネストされたズーム div が含まれている場合に、iOS でバグ (1.8.3) が発生することがわかりました。

zoomネストされたズーム div (CSSプロパティ) だけでなく、異なる CSS 変換 (x および y 変換) を持つレイヤーも存在するため、状況はさらに複雑になります。

最後に、ターゲット div 内のローカル マウス/タッチ位置を計算する独自の関数を作成しました ( などを使用WebKitCSSMatrix) MSCSSMatrix。それは「ほぼ」うまく機能しますが、いくつかの状況ではまだ完全ではありません - 特にネストされたズームされた div がある場合。

だから私の質問は、上記の要件を考慮して、ターゲットdiv内のローカルタッチ/マウス位置を計算するための一般的なソリューション/ライブラリがあるかどうかです??

ありがとう。

皆さんにとって良い一日...

4

2 に答える 2

0

マウス イベントでは、5 つのプロパティ ペアから選択できます。

これは、違いを説明する優れたブラウザーの癖のリファレンスです。

ここでは、彼らが詳細にカバーする3つを紹介します

  • pageX/Y CSS ピクセル単位の要素に対する座標を指定します。
  • clientX/Yビューポートに相対的な座標を CSS ピクセルで指定します。
  • screenX/Y画面に対する座標をデバイス ピクセル単位で指定します。
于 2013-07-30T15:08:36.537 に答える
-1

event.offsetX と event.offsetY を使用する場合は、それを行う必要があります。(古いのですみません)

于 2016-09-01T12:52:02.740 に答える