JavaScript拖放功能分原生Drag and Drop API(需draggable="true",监听dragstart/dragover/drop)和手动鼠标/触摸事件实现(mousedown→mousemove→mouseup,用transform位移),前者语义强适合文件上传,后者灵活兼容好适用于自由拖动。

JavaScript 中实现拖放功能,核心是利用原生的 Drag and Drop API(支持现代浏览器)或通过 鼠标事件 + CSS 位移 手动控制实现元素可拖动。前者语义清晰、支持跨区域拖拽(如文件上传),后者更灵活、兼容性更好、适合自定义交互。
启用原生拖放:让元素可被拖拽
要使一个 HTML 元素支持原生拖放,必须设置 draggable="true" 属性,并监听关键事件:
- dragstart:在拖拽开始时触发,用于设置拖拽数据(如文本、URL、自定义类型)和视觉反馈(例如修改 opacity)
-
dragover:目标区域必须阻止默认行为(
e.preventDefault()),否则无法触发 drop - drop:接收拖拽内容,从中读取数据并执行逻辑(如插入、移动、复制)
示例(拖动一个 p 到另一个容器中):
<p id="drag" draggable="true">拖我</p><br><p id="dropzone">放下这里</p>
登录后复制
JS 部分:
立即学习“Java免费学习笔记(深入)”;
标签: css javascript java html js go 浏览器 安卓 safari ai ios win bing
还木有评论哦,快来抢沙发吧~