
假设我们有两个 div,一个内部 div 和另一个外部 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)}
以上就是你能解决这个问题吗?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1491472.html
微信扫一扫
支付宝扫一扫