2 つの div があり、1 つは内側の div、もう 1 つは外側の div があるとします。
内部の div はズームとパンを担当します (CSS 変換、変換、拡大縮小を使用して行われます)。
ドラッグ アンド ドロップで新しい div を内部 div に追加できるようになりました。ドロップ イベントは、outerdiv
によって受け入れられます。ドロップ イベント中に clientX、clientY の位置を取得します。これを使用して、内部 div を基準とした正しいドロップ位置を見つけます。
これが考えられる解決策です (ただし、ズームすると最終位置がオフセットします)
handleDrop = (e) => { const canvasContainerRect = outerDivBoundingRect() // const canvasRect = innerDivBoundingRect() let finalPosition = { x: (e.clientX - canvasContainerRect.left - translateX) / zoom, y: (e.clientY - canvasContainerRect.top - translateY) / zoom, } console.log("final: ", finalPosition) }
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3