拖拽属性

拖拽属性

H5的新特性 : 是指鼠标点击源对象之后,不松手将其拖拽到目标对象,或半途松手(释放)的过程

拖拽 Drag

源对象: 指定的鼠标点击的一个事物,例如: 一个元素,一个图片等
目标对象: 指定是我们拖动源对象后,预计要进入的区域

被拖动的源对象可以触发的方法

  1. ondragstart: 源对象开始被拖动
  2. ondrag: 被拖动过程中
  3. ondragend: 源对象被拖动结束

源对象进入目标对象可以触发的事件

  1. ondragenter: 源对象进入目标对象时触发
  2. ondragover: 源对象悬停在目标对象上方时触发
  3. ondragleave:源对象被拖动着离开目标对象时触发
  4. ondrop: 源对象在目标对象上松手时 触发

拖拽属性 一共就是这7个方法
功能: 用于在源对象和目标对象之间传递数据

  1. setData( ): 设置数据 参数是 key 和 value(value必须是字符串)

  2. getData( ):获取数据,参数是key 。 通过key去获取对应的value值

    dataTransfer 注意:

dataTransfer的传输数据必须为字符串类型,所以需要转化数据类型,那么就要使用到JSON方法

// 使用JSON对象中的方法 转换 字符串和对象的数据类型var str = new String();var obj = {};// JSON.stringify(对象):可以将对象类型 转换为字符串类型console.log(typeof JSON.stringify(obj));//JSON.parse(字符串):可以将字符串类型  转换为对象类型console.log(typeof JSON.parse(str));

注意!!

  • 标签中自带的属性: draggable 是否可以拖拽,默认值 false
// 例:// 切记开启draggable属性<div class="box" draggable="true"></div><script type="text/javascript">var box = document.getElementsByClassName("box")[0];// 定义全局变量,存储鼠标的位置              var offsetX;var offsetY;// 开始拖动时box.ondragstart = function(ev){    // 获取鼠标在元素上的位置          offsetX = ev.offsetX;offsetY = ev.offsetY;            }// 源对象被拖动时 box.ondrag = function(ev){         var x = ev.clientX;var y = ev.clientY;// drag事件最后一刻,无法读取鼠标的坐标, x 和 y 都会变成0  if (x == 0 || y == 0) {return false; // 直接结束,不赋值给元素}x -= offsetX;y -= offsetY;this.style.left = x + "px";this.style.top = y + "px";}// 拖动结束时box.ondragend = function(){console.log(1)}</script>

H5新特性 - 拖拽属性相关推荐

  1. 前端面试题二:ES6/7/8新特性、性能优化、数据交互、H5新特性

    目录 一.ES6/7/8新特性 二.性能优化 三.数据交互 四.H5新特性 一.ES6/7/8新特性 1.ES6中新增了哪些数据类型? Symbol类型(基本) Set类型(复杂) Map类型(复杂) ...

  2. 【面试】面试官:说一说H5新特性

    H5 新特性 1.拖拽释放(Drap and drop) API ondrop拖放是一种常见的特性,即抓取对象以后拖到另一个位置 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放 2.自定义 ...

  3. html5长按 排序,H5 长按 拖拽排序的实现

    H5 长按拖拽排序 产品需求: H5页面的一个列表,需要长按之后 然后拖拽排序; vuedraggable是vue生态圈中一个知名的组件,也是vue.js项目中处理拖拽问题的不二法宝; 它基于Sort ...

  4. html5新特性表单控件,老生常谈h5新特性1:(表单)

    老生常谈h5新特性1:(表单) HTML5新特性 -- 十大新特性 (1)新的语义标签和属性 (2)表单新特性 (3)视频和音频 (4)Canvas绘图 (5)SVG绘图 (6)地理定位 (7)拖放A ...

  5. 前端16天--IFC、BFC、H5新特性、选择器、伪类元素、扩展盒模型、圆角、盒子阴影等--2021/4/21

    前端16天–IFC.BFC.H5新特性–2021/4/21 HTML5是HTML标准的最新演进版本: 1.是一个新的HTML语言版本包含了新的元素.属性和行为. 2.同时包含了一系列可以被用来让web ...

  6. H5新特性(一)——音视频标签

    H5新特性--音视频标签 大家都有在网页中浏览音频和视频的经历,在HTML5之前,对视频和音频没有一个标准,因此在网页中看到的视频,都是通过第三插件的方式嵌入的,可能是QuickTime,也可能是 R ...

  7. h5新特性DOMAST的简单理解

    h5新特性 1.一些语义化标签 header.footer.nav.aside.article.section.hgroup(h1~h6的集合) document.createElement('hea ...

  8. H5新特性有哪些?怎么理解语义化

    H5新增了很多新的特性,这也成了我们面试的时候面试官喜欢问的一个问题,那我们可能在开发的过程中如果没有去关注过那也不是很清楚用到的是不是H5的新特性,下面我们就来讲一下 H5十大新特性 1.语义化标签 ...

  9. 原生JS的拖拽属性draggable(详解)

    摘要 作为h5新增的属性draggable,它能够给与一切的html元素拖动的效果.而在这个属性之下,也有着关于拖动效果的各个方法. 而这一篇文章,主要就是说一下关于draggable属性的使用以及工 ...

最新文章

  1. 资源推荐 | 知识图谱顶会文献集锦(附链接)
  2. 关于国内部分电子病历编辑器的评价
  3. 微信封杀百度红包;刘强东新开公司;库克“iPhone 表现不好”| 极客头条
  4. 顺序查找、折半查找及索引顺序查找
  5. opencv识别圆的代码(转)
  6. hidden symbol `pthread_atfork'
  7. Linux编译安装GCC-5.1.0
  8. 基于javaweb的学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
  9. 深圳大数据学习:怎样进行大数据的入门级学习?
  10. python外部库matlab_python调用MATLAB库绘制直方图
  11. Idea复制文件一直updating indices
  12. 基于springboot供应链管理系统毕业设计源码121518
  13. 幼儿体能五项技能测试软件,体能测查 | 幼儿园体能测试项目及标准,建议新手幼师收藏!...
  14. 乐高大颗粒作品22:灯塔
  15. TASKCTL4.1不同版本下载
  16. 支付宝钱包接口开发包2.0标准版接入与使用规则
  17. 把一条长为1的线段任意分成三段,则这三段能构成三角形的概率为??
  18. 天网防火墙 与 Filemon和Regmon 有冲突
  19. Javascript学习笔记:apply()的使用
  20. SQL入门之第二十讲——SQL日期函数介绍

热门文章

  1. 数据结构和算法-2023.07.04
  2. 常用时间格式毫秒数、年月日、国际通用时间之间相互转换(常用)
  3. 【可同步账单、预算和账户信息财务软件】Money Pro for Mac 2.1
  4. 用NPOI、C#操作Excel表格生成班级成绩单
  5. 手机怎么用外嵌字幕_怎么给视频添加动态歌词字幕?原来用微信就能完成,涨知识了...
  6. TensorFlow:随机打散、批训练、预处理、循环训练
  7. 做Rom其实没什么奥秘,浅显易懂的补丁制作教程,带刷机脚本示例
  8. Flutter 获取当前时间
  9. 浅谈Spring拦截器的实现
  10. 04-TrustZone for Armv8-A