HTML 拖放API

相关文档:

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Global_attributes/draggable

https://developer.mozilla.org/zh-CN/docs/Web/API/HTML_Drag_and_Drop_API

是否允许拖放的属性draggable

draggable属性可用于DOM标签,设置为true表示可以拖动,为false表示不可以拖动。

其false和true必须显示设置,不能省略。

简单例子:

(以vue3代码为例)

在组件中定义div标签,给标签设置draggable="true",这个div DOM就会变成能够拖拽的:

html 复制代码
<script setup lang="tsx">

</script>

<template>
  <div draggable="true">
    hello world
  </div>
</template>

其他拖放设置:

其他相关API参考下列文档:

https://developer.mozilla.org/zh-CN/docs/Web/API/HTML_Drag_and_Drop_API

通过绑定事件的形式,给DOM添加事件,可以改变DOM元素在拖拽时的表现:

以dragend为例,dragend在元素拖拽操作结束时触发,比如我想在div拖拽结束时,弹出alert弹框:

html 复制代码
<script setup lang="tsx">
const dragend = ()=>{
  alert('dragend')
}
</script>

<template>
  <div 
    draggable="true"
    @dragend="dragend"
  >
    hello world
  </div>
</template>

拖拽结束,放开鼠标的时候会显示弹框:

相关推荐
代码搬运媛4 小时前
Jest 测试框架详解与实现指南
前端
counterxing5 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq5 小时前
windows下nginx的安装
linux·服务器·前端
之歆5 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜5 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108086 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong6 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
kyriewen7 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm8 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy8 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程