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>

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

相关推荐
飞天狗13 分钟前
线上Bug一直复现不了?我用Sentry把错误追踪效率提升了10倍
前端
Slice_cy14 分钟前
对前端工程化的理解
前端
Slice_cy15 分钟前
状态机设计理念与实现
前端
星栈16 分钟前
LiveView 的生命周期:mount、handle_event 和 Socket 到底怎么运转
前端·前端框架·elixir
yingyima21 分钟前
JWT Token 解析与安全实践速查:5 问 5 答直击要害
前端
kyriewen1 小时前
我用 Codex 重写了同事维护三年的代码,他没说谢谢——而是找了领导
前端·javascript·ai编程
OpenTiny社区2 小时前
从零开发 AI 聊天页要两周?试试这款 Vue3 垂直对话组件库 TinyRobot,直接开箱即用
前端·vue.js·github
铁皮饭盒2 小时前
S3已成为文件存储标准,阿里/腾讯/华为云都支持,Bun率先原生支持
前端·javascript·后端
Cobyte2 小时前
22.Vue Vapor 组件 props 的实现
前端·javascript·vue.js
lichenyang4532 小时前
从 has.showToast 看 ASCF 的 API 调用链路
前端