拖放API是浏览器原生事件机制,需通过draggable="true"启用拖拽、dragover中preventDefault允许放置、dragstart设置dataTransfer数据、drop中获取并执行操作。

拖放 API 是浏览器原生提供的一套事件机制,用于支持用户通过鼠标(或触摸)拖拽元素并放置到目标区域的交互行为。它不是某个单独的函数,而是一组配套的事件和方法,核心在于 dragstart、dragover、drop 这三个关键环节的配合。
拖放的基本流程和必要步骤
要让一个元素可拖,另一个元素能接收,必须满足几个硬性条件:
- 被拖拽的元素需设置
draggable="true"属性(默认false,<img alt="什么是拖放api_javascript中如何实现交互?" >和<a></a>除外) - 目标区域必须阻止
dragover的默认行为,否则drop事件不会触发 - 在
dragstart中用dataTransfer.setData()存储数据(如文本、ID、JSON 字符串) - 在
drop中用dataTransfer.getData()取出数据,并执行实际操作(比如移动 DOM、更新状态)
常见写法:一个可拖列表项到容器的示例
假设你有一个任务列表,想把任务拖进「已完成」区域:
<p id="task-list"> <p class="task" draggable="true" data-id="1">写周报</p> <p class="task" draggable="true" data-id="2">回邮件</p> </p> <p id="done-area" class="drop-zone">拖到这里完成</p>
登录后复制
对应 JS:
立即学习“Java免费学习笔记(深入)”;
标签: javascript java js json go 浏览器 app ai
还木有评论哦,快来抢沙发吧~