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>

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

相关推荐
源力祁老师8 小时前
深入解析 Odoo 中 default_get 方法的功能
java·服务器·前端
sleeppingfrog9 小时前
zebra打印机实现前端打印
前端
摇滚侠9 小时前
前端判断不等于 undefined 不等于 null 的方法
前端
DFT计算杂谈9 小时前
VASP+Wannier90 计算位移电流和二次谐波SHG
java·服务器·前端·python·算法
编程之升级打怪9 小时前
网页端即时通信应用消息列表的更新逻辑
html·信息与通信
止观止9 小时前
告别 require!TypeScript 5.9 与 Node.js 20+ 的 ESM 互操作指南
javascript·typescript·node.js
zhougl9969 小时前
Vue 中使用 WebSocket
前端·vue.js·websocket
无名的小白9 小时前
openclaw使用nginx反代部署过程 与disconnected (1008): pairing required解决
java·前端·nginx
2601_949857439 小时前
Flutter for OpenHarmony Web开发助手App实战:文本统计
前端·flutter
光影少年9 小时前
智能体UI ux pro max
前端·ui·ux