拖放事件

#1. 三个对象
源对象    --  被拖放的元素

过程对象  --  经过的元素

目标对象  --  到达的元素
 
#2. 源对象中的事件

要想让某个元素可以拖拽需要设置draggable="true"大多数的标签该属性默认值是false,但是img标签和a标签的draggable属性默认是true

dragstart 源对象开始拖放

drag 源对象拖放过程中

dragend 源对象拖放结束
 
#3. 过程对象中的事件
dragenter 源对象开始进入过程对象范围( 鼠标进入 )

dragover 源对象在过程对象范围内移动

dragleave 源对象离开过程对象范围
 
#4. 目标对象
drop 源对象被拖放到目标对象内
 

==++pay attention to ! ! !++==

  • 页面中的元素默认都是过程对象
  • 过程对象的dragover事件有一个默认行为!!!
  • 那就是当dragover触发时,drop会失效!!!!
  • 所以需要阻止dragover的默认行为才能触发drop
#5. 简单拖放步骤
1. 将源对象draggable属性值置为true,允许元素可拖放

2. 给源对象绑定开始拖放事件,规定当元素被拖动时会发生什么

3. 给过程对象绑定拖动经过事件,规定经过过程对象时会发生什么

4. 阻止目标对象的dragover事件的默认行为

5. 给目标对象绑定(drop)事件 ,规定放开后会发生什么


#二、dataTransfer

==dataTransfer== 是拖放事件对象中的属性,该属性用于源对象和目标对象之间的数据传输。==数据类型不区分大小写==。

 1. 在源对象里面存储数据 e.dataTransfer.setData("数据类型","值") 

 2. 在目标对象里面获取数据 e.dataTransfer.getData("数据类型") 

 3. 在源对象里面清除数据 e.dataTransfer.clearData("数据类型(可省,省则清除所有)")

 4. effectAllowed 和 dropEffect 这两个属性结合起来设置拖放的视觉效果  copy、link、move

 5. e.dataTransfer.setDragImage(img,100,100);
第一个参数:img对象
第二个参数:鼠标相对于图片的x方向偏移量
第三个参数:鼠标相对于图片的y方向偏移量

移动 drag&drop拖放的更多相关文章

  1. Draggabilly – 轻松实现拖放功能(Drag & Drop)

    Draggabilly 是一个很小的 JavaScript 库,专注于拖放功能.只需要简单的设置参数就可以在你的网站用添加拖放功能.兼容 IE8+ 浏览器,支持多点触摸.可以灵活绑定事件,支持 Req ...

  2. Android开发之Drag&Drop框架实现拖放手势

    Android3.0提供了drag/drop框架,利用此框架可以实现使用拖放手势将一个view拖放到当前布局中的另外一个view中.本文将介绍如何使用拖放框架. 一.实现拖放的步骤 首先,我们先了解一 ...

  3. HTML5中的拖拽与拖放(drag&&drop)

    1.drag 当拖动某个元素时,将会依次触发下列事件: 1)dragstart:按下鼠标键并开始移动鼠标时,会触发该事件 2)drag:dragstart触发后,随即便触发drag事件,而且在元素被拖 ...

  4. 《JavaScript 实战》:实现拖放(Drag & Drop)效果

    拖放效果,也叫拖拽.拖动,学名Drag-and-drop ,是最常见的js特效之一.如果忽略很多细节,实现起来很简单,但往往细节才是难点所在.这个程序的原型是在做图片切割效果的时候做出来的,那时参考了 ...

  5. HTML 学习笔记 (drag & drop)

    拖放(Drag & Drop)是一种常见的特性,即抓取对象以后拖到另一个位置.在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放.过去,我们用监听鼠标的Mousedown.Mouseo ...

  6. HTML5魔法堂:全面理解Drag & Drop API

    一.前言    在HTML4的时代,各前端工程师为了实现拖拽功能可说是煞费苦心,初听HTML5的DnD API觉得那些痛苦的日子将一去不复返,但事实又是怎样的呢?下面我们一起来看看DnD API的真面 ...

  7. Win10/UWP新特性—Drag&Drop 拖出元素到其他App

    在以前的文章中,写过微软新特性Drag&Drop,当时可能由于处于Win10预览版,使用的VS也是预览版,只实现了从桌面拖拽文件到UWP App中,没能实现从UWP拖拽元素到Desktop A ...

  8. Android drag drop

    最近偶尔知道了锤子的one step,所以在网上看相关的东西,有人说android原生drag drop就能实现,我就去学习一下这个drag drop,下面把学习到的东西总结一下: drag drop ...

  9. Android -- Drag&&Drop

    Android3.0提供了drag/drop框架,利用此框架可以实现使用拖放手势将一个view拖放到当前布局中的另外一个view中. 实现拖放的步骤 首先,我们先了解一下拖放过程,从官方文档可以知道, ...

随机推荐

  1. 面试官:小伙子,你给我说一下HashMap 为什么线程不安全?

    前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密. 1.jdk1.7中的HashMap 在jdk1.8中对HashM ...

  2. Ayoa:麻雀虽小、五脏俱全的思维导图工具

    Ayoa是一款简单好用的思维导图软件,在PC端可以使用Ayoa网页版,也就是不用下载即可使用,十分轻便省力.但麻雀虽小,五脏可十分俱全,同类的其他大型软件有的东西它可一点不少,甚至还有更多的特殊功能. ...

  3. schema设计陷阱

    1.太多的列: mysql的存储引擎api工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列.从行缓冲中将编码过的列转换成行数据结构的操作代价是非常高的. ...

  4. hibernate一对多,细节讲解

    1.一对多 1).首先创建两个实体类studeninfo.java跟studentxxb.java 1)studentinfo.java表如图: package model; import java. ...

  5. 关于你天天见到的JDK、JRE和JVM

    什么是JDK.JRE.JVM? 大家都知道电脑的操作系统是由汇编和C语言写出,因此操作系统无法直接识别其他语言.这时我们就需要为我们写的Java程序配备一名翻译官 ----- 编译环境,将Java程序 ...

  6. 汇编中的inc和dec

    原文链接:https://www.cnblogs.com/whzym111/p/6370198.htmlinc 加1指令 dec 减1指令 一.加一指令inc inc a 相当于 add a,1 // ...

  7. Beta冲刺随笔——Day_Seven

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...

  8. 老猿学5G扫盲贴:R15/R16中计费架构和计费原则涉及的规范文档

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在R16的32.240文档对应规范为3G ...

  9. [GKCTF2020]CheckIN 注意了解多方面的东西

    打开之后是这样的,没有发现反序列化函数,但是发现有一个@eval,想到了一句话,这是用base64进行传参首先传参phpinfo();看看,需要经过base64编码 http://e0cc90ac-d ...

  10. Day5 Scrum 冲刺博客

    一.站立式会议# 1. 会议照片 2. 工作进度+燃尽图 团队成员 昨日完成工作 今日工作计划 遇到的困难 周梓波 将方块分类并抽象成类 将方块旋转变形 逻辑漏洞较多 纪昂学 绘制游戏背景,方块,状态 ...