HTML5拖放以将div移动到屏幕上的任何位置?

Posted

技术标签:

【中文标题】HTML5拖放以将div移动到屏幕上的任何位置?【英文标题】:HTML5 drag and drop to move a div anywhere on the screen? 【发布时间】:2011-11-08 20:31:34 【问题描述】:

标题很清楚。

我发现的所有演示都包括将 div 放到某个位置。例如垃圾桶。我需要制作一个可拖动的 div,它可以放在屏幕上的任何位置。

html5 可以做到这一点吗?如果不是我应该怎么做?

【问题讨论】:

HTML5 Drag and Drop anywhere on the screen 的可能重复项 如果你想用 Jquery 的方式来做,this 是最好的解决方案,而且比纯 javascript 解决方案要容易得多。 【参考方案1】:

真的很简单:

    dragstart 事件中计算用户点击可拖动元素的位置与左上角之间的偏移量 确保将dragover 事件应用于整个文档,以便可以将元素拖放到任何地方 在drop 事件中,使用您通过下拉的clientXclientY 计算出的偏移量来计算元素的位置

Here's one 我prepared earlier。对于奖励积分,您可以在dragover event 中更新元素的顶部和左侧位置,如果您允许拖动的位不是需要移动的整个元素,这很有用。

【讨论】:

@Luis,在拖动元素时可以设置iframe pointer-events: none; ,并且可以将元素拖动到 iframe 上

以上是关于HTML5拖放以将div移动到屏幕上的任何位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何拖放 recyclerView 元素?

HTML5拖放以使用本地htnl5文件上传目录[重复]

HTML5 拖放,放置的 div 从放置的位置移动了一点

Android 在屏幕上拖放图像?

如果没有放在目标上,则使用 onDraglistener animate 拖放以返回原始位置

跨页面拖放div?