当前位置: 首页 > news >正文

【HTML5】拖放详解及实现案例

文章目录

    • 效果预览
    • 代码实现

效果预览

在这里插入图片描述

代码实现

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>一颗不甘坠落的流星</title><style>#div1,#div2 {float: left;width: 100px;height: 27px;margin: 10px;padding: 24px 0;text-align: center;border: 1px solid #aaaaaa;}span {display: inline-block;width: 50px;height: 25px;background-color: greenyellow;}</style></head><body><!-- 4. ondragover 事件规定被拖动的数据能够被放置到何处。 --><!-- 6. 当放开被拖数据时,会发生 drop 事件。 --><div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"><!-- 1. 为了把一个元素设置为可拖放,请把 draggable 属性设置为 true --><!-- 2. ondragstart 属性调用了一个 drag(event) 函数,规定拖动什么数据。 --><span draggable="true" ondragstart="drag(event)" id="drag1"></span></div><div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div></body><script type="text/javascript">function allowDrop(ev) {// 5. 默认地,数据/元素无法被放置到其他元素中。// 为了实现拖放,我们必须阻止元素的这种默认的处理方式。// 由 ondragover 事件的 event.preventDefault() 方法完成ev.preventDefault();}function drag(ev) {// 3. dataTransfer.setData() 方法设置被拖动数据的数据类型和值// 在本例中,数据类型是 "text",而值是这个可拖动元素的 id ("drag1")。ev.dataTransfer.setData("Text", ev.target.id);}function drop(ev) {// 调用 preventDefault() 来阻止数据的浏览器默认处理方式(drop 事件的默认行为是以链接形式打开)ev.preventDefault();通过 dataTransfer.getData() 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据var data = ev.dataTransfer.getData("Text");// 被拖数据是被拖元素的 id ("drag1")var span = document.getElementById(data)// 把被拖元素追加到放置元素中ev.target.appendChild(span);}</script>
</html>
http://www.lryc.cn/news/99716.html

相关文章:

  • Codeforces Round 888 (Div. 3)(视频讲解全部题目)
  • MySQL之深入InnoDB存储引擎——物理文件
  • Jquery操作html常用函数
  • 【Lua学习笔记】Lua进阶——Table,迭代器
  • 重庆市北斗新型智慧城市政府项目
  • FANUC机器人SRVO-217故障报警原因分析及参考解决办法
  • 统信UOS安装mysql数据库(mariadb)-统信UOS安装JDK-统信UOS安装nginx(附安装包)
  • 上门小程序开发|上门服务小程序|上门家政小程序开发
  • 1000道网络安全必备面试题合集,秋招金九银十必看!!!
  • 从0-1实现简易Raft分布式共识算法
  • Spring 创建和使用
  • Javadoc comment自动生成
  • vue3 +ts 报错 index.vue 不是模块
  • win10 hadoop报错 unable to load native-hadoop library
  • 前端(九)——探索微信小程序、Vue、React和Uniapp生命周期
  • MyBatis查询数据库(2)
  • Jenkins构建完成后发送消息至钉钉
  • 从浏览器输入url到页面加载(六)前端必须了解的路由器和光纤小知识
  • C语言假期作业 DAY 06
  • [nlp] tokenizer加速:fast_tokenizer=True
  • 基于OpenCV solvePnP函数估计头部姿势
  • STC12C5A系列单片机内部 EEPROM 的应用
  • 搭建测试平台开发(一):Django基本配置与项目创建
  • JavaWeb教程笔记
  • 数据库压力测试方法小结
  • Spring Boot——Spring Boot自动配置原理
  • 深度学习:Pytorch最全面学习率调整策略lr_scheduler
  • 【uniapp】更改富文本编辑器图片大小
  • 数据结构和算法一(空间复杂度、时间复杂度等算法入门)
  • Pytorch深度学习-----神经网络的基本骨架-nn.Module的使用