好久没有开始写blog了,把好些东西都搬到了博客园。一直以来想做一个自己理想的系统,好好练习一下所以学的JAVAEE知识。可惜到现在没有找下一个好的UI搭档,自己又是个色废。只好自己去摸索去做UI,完成后找个色彩感强力一点的UI填充颜色。新的系统打算用HTML5和CSS3 做PC 端,然后连接android和IOS做为手持端。

计划一天学习一章HTML5,因为有HTML4的基础,学习HTML稍微有一点难度,其中可能有几个原因,第一是资料比较少,好些方法找不到释义,只能用蹩脚的英语去翻文档规范,第二是浏览器和编译器 对HTML5 还是很好,第三是自己粗心和浮躁的毛病没有一点点改变。

看着 W3School 教程 (http://www.w3school.com.cn/html5/html_5_draganddrop.asp)  开始学习。

附上一个HTML5 事件的地址(http://www.w3school.com.cn/html5/html5_ref_eventattributes.asp) 也是 W3School 的

开始上代码。

目录结构

js 文件

/*event.preventDefault() 来避免浏览器对数据的默认处理;*//** event.target 返回触发此事件的元素(事件的目标节点)* event.dataTransfer 对象 , 拖拽对象时发送数据和值。* event.dataTransfer 对象,有2个方法* event.dataTransfer.setDate(arg1,ag2)  拖拽时 设置对象数据和值* arg1 参数 为 String   指定被拖动数据的类型 ,参数值为”Text“ 和"url"* arg2 参数 为 一个变体类型参数,指定被拖动的数据。该数据可以是文本,图片。* event.dataTransfer.setDate(arg1)  得到拖拽数据的 数据。* arg1 为 String   指定被拖动数据的类型 ,参数值为”Text“ 和"url"*
*/// 当开始拖拽时,设置拖拽对象,发送数据和值
function onDrag(ev){ev.dataTransfer.setData("Text",ev.target.id);
}//当拖拽中
function  drag(ev){ev.preventDefault();//获得拖拽的数据var obj =ev.dataTransfer.getData("Text");//得到拖拽的对象,并追加到当前事件对象的子节点
    ev.target.appendChild(document.getElementById(obj));
}// 拖拽结束时
function overDrag(ev){ev.preventDefault() ;
} 

<!DOCTYPE html>
<html ><head><script type="text/javascript" src="../js/Drag.js"></script></head><body style=""><div  style="border:1px solid yellow;height: 500px; width: 500px;position:relative;" id="dv1"><div style="border:1px solid red;height: 200px; width: 200px;float: left;margin-top: 10px;margin-left: 10px;" id="dv2"><img id='img1'  draggable="true" ondragstart="onDrag(event)"   src="../img/a.jpg"/ ></div><div id ='dv3' ondrop="drag(event)" ondragover="overDrag(event)" style="border:1px solid blue;height: 200px; width: 200px;margin-top: 10px;margin-right: 10px; float: right;"></div></div></body>
</html>

运行效果:

拖拽前

    

拖拽后

    

2点开始看教程,弄清每一个方法,每一个事件,大概到3点左右,之后开始编码。到6点完成。中间调试到了2个小时左右,期间粗心的问题不说,唯一个比较致命的问题没有给<img> 标签加id

 <img  draggable="true" οndragstart="onDrag(event)"   src="../img/a.jpg"/ >

  这样行代码中 没有为 <img> 标签 加ID,  为什么没有加ID 会错,来看这行JS代码

function  drag(ev){ev.preventDefault();//获得拖拽的数据var obj =ev.dataTransfer.getData("Text");//得到拖拽的对象,并追加到当前事件对象的子节点ev.target.appendChild(document.getElementById(obj));
}

 因为它需要得到对象ID的,并追加到 当前事件对象中。

转载于:https://www.cnblogs.com/skywing/p/3220634.html

学习HTMLT5_1 拖拽相关推荐

  1. jquery UI 跟随学习笔记——拖拽(Draggable)

    jquery UI 跟随学习笔记--拖拽(Draggable) 引言 这周暂时没有任务下达,所以老大给我的任务就是熟悉jquery相关插件,我就先选择了jquery UI 插件,以及jquery库学习 ...

  2. 2018年首篇,带大家一起学习视图拖拽功能的源码

    今天的快讯我们对2017年的重大事件进行一下回顾吧. 乐视事件 回溯乐视的2017,"眼看他起朱楼,眼看他宴宾客,眼看他楼塌了".乐视历经了来自融创中国百亿融资.高层相继离职.裁员 ...

  3. gamemaker学习笔记:拖拽

    今晚尝试一下Gm的拖拽,发现和之前看过知乎Gms的专栏一篇文章的也是很类似,尝试做一下练习.针对一个obj在step 事件下进行控制. 在使用之前封装了一个小脚本,可以调用点击.其实有点需要吐槽的,按 ...

  4. Angular 学习笔记——拖拽

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  5. Android学习系列(10)--App列表之拖拽ListView(上)

    研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨.       鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...

  6. Bootstrap学习笔记之Nestable可拖拽树结构

    Nestable是基于Bootstrap的一个可拖拽的树结构表现插件. 下面粗略的介绍一下它的用法,只作为学习参考,如有不合适之处,请各位凑合看. 下图是我在现在系统中用到的Nestable,对系统模 ...

  7. Android学习系列(11)--App列表之拖拽ListView(下)

    接着上篇Android学习系列(10)--App列表之拖拽ListView(上)我们继续实现ListView的拖拽效果. 7.重写onTouchEvent()方法.      在这个方法中我们主要是处 ...

  8. [QT_015]Qt学习之基于条目控件的自定义特性(拖拽+右键菜单+样式)

    本文转自:<Qt编程指南>        作者:奇先生 Qt编程指南,Qt新手教程,Qt Programming Guide 本节介绍基于条目控件的定制特性,首先介绍条目的拖拽,列表控件. ...

  9. JavaScript学习第十六天(键盘事件、表单事件、拖拽事件、框架事件、媒体事件)

    文章目录 键盘事件 表单事件 剪贴板事件 拖拽事件 打印事件 框架事件 媒体事件 总结 键盘事件 onkeydown 键盘按下事件,当有按键按下时触发 onkeyup 键盘松开事件,当有按键被松开时触 ...

  10. html5学习(鼠标跟随和拖拽)

    温故知新,以下是我以前写的html5的案例,从电脑中翻出来了,算是知识复习和回顾吧! 有图有代码! <!DOCTYPE html> <html> <head> &l ...

最新文章

  1. python中的np where_numpy中的np.where
  2. 软件架构解读与架构师角色培养——希赛嘉宾聊天实录
  3. 理解Vue深度响应原理
  4. OperationalError: (1044, Access denied for user ''@'localhost' to database 'mydb')
  5. K8S的 Custom Resource Definition(CRD)之初体验
  6. 2014-08-26 遇到的小问题
  7. 19软件班专业英语学期总结
  8. lede 插件_【PS插件】神器在手不怕图片模糊
  9. 2019湖南职高计算机总分是多少,2019湖南高职单招一般多少分能过
  10. 汤立波:车联网最新发展动态
  11. 【UML】如何画好数据流图基础教程
  12. 联想服务器安装win10系统安装教程,联想win10企业版操作系统安装步骤详解
  13. 阿里任务调度SchedulerX2.0和阿里云大数据任务结合
  14. linux安装最新版的glib库,GLib库安装与简析
  15. 在WORD表格中如何实现加法?
  16. k30pro杀进程严重怎么解决_狗狗总是不吃饭,严重挑食怎么办?学会这三招,快速解决不吃饭...
  17. AR剪辑笔记之视频调色
  18. 滤波器的抽头系数、通带、阻带、过渡带
  19. 记录一下自己学习网络安全的过程
  20. 小米手环APP 失败:Failure [INSTALL_FAILED_OLDER_SDK] 原因

热门文章

  1. python opencv 中文_OpenCV-Python在图片上输出中文
  2. 【算法笔记+HDU2222】AC自动机(统计一个长字符串由多少个不同的短字符串组成)
  3. 【SGU495】Kids and Prizes(概率dp)
  4. Android之简单的BMI计算器(运用两个界面跳转显示)
  5. 容器技术Docker K8s 13 容器服务Kubernetes版ACK详解-使用镜像快速创建有状态应用
  6. 无线OSS-高精度整数加法
  7. python程序如何发布
  8. python如何设置双索引_python-在新的多索引下串联熊猫列
  9. 深度学习:概述和一孔之见 浅谈深度学习中潜藏的稀疏表达
  10. 【DL小结1】DL入门