l元素可以用于拖拽必须设置draggable="true"属性,img和a标签除外,她们两个默认就可以被拖拽
想做拖拽处理,就需要在Dom元素上监听拖放的事件:dragstart,drag,dragenter,dragover,dragleve,drop,dragend

在文档中,默认document最先触发以上事件,而默认的处理是阻止页面元素的变化,想人为的控制拖拽的元素的变化需要我们改动代码。所有必需去掉document的默认处理

document.ondragover = function(e) {

e.preventDefault();

};

document.ondrop = function (e) {

e.preventDefault();

};

拖拽事件event中属性:dataTransfer是传递数据的关键。使用dataTransfer的setData(“Text",data)方法,把要拖拽的数据放到dataTransfer中,在拖拽完毕的事件中,再从中取出数据,用方法:getData("text/plain");

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style>
#d1, #d2 {
width:200px;
height:200px; border:1px solid gray;
float:left;
margin-right:20px;
} </style>
<script>
function drag(e) {
e.dataTransfer.setData("Text", e.target.id);
} function dragover(e) {
e.preventDefault();
} function move1(e) {
e.preventDefault();
var id = e.dataTransfer.getData("Text");
e.target.appendChild(document.getElementById(id));
}
</script>
</head>
<body>
<div id="d1" ondragover="dragover(event)" ondrop="move1(event)">
<img id="i1" src="ts.gif" draggable="true" ondragstart="drag(event)" /><br />
<a id="Img1" draggable="true" ondragstart="drag(event)">把我也拖走吧!</a>
</div> <div id="d2" ondragover="dragover(event)" ondrop="move1(event)"></div>
</body>
</html>

最新文章

  1. Adobe Photoshop CC 打开时报错~配置错误:请卸载并重新安装该产品
  2. 子类重载父类的方法“parent::方法名”转于 恩聪PHP学习教程
  3. phpcms--模型管理,推荐位管理,类别管理
  4. linux档案与文件的的压缩与打包
  5. JavaScript高级 面向对象的程序设计 (二)《JavaScript高级程序设计(第三版)》
  6. Tomcat剖析(一):一个简单的Web服务器
  7. WinForm 读写配置文件
  8. 如何将top命令输出重定向为文件
  9. kubernetes之flannel
  10. python 将png图片格式转换生成gif动画
  11. python算法-选择排序
  12. web移动端区分Android或者ios系统
  13. js数组条件筛选——map()
  14. PAT 乙级 1051 复数乘法 (15) C++版
  15. 腾讯云ubuntu安装Mysql并配置远程访问
  16. N76E003之串口
  17. Silverlight 5 Developer Rumtime
  18. centOS 6.5关闭防火墙步骤
  19. rake aborted! You have already activated rake 10.1.0, but your Gemfile requires rake 10.0.3. Using bundle exec may solve this.
  20. Oracle Certified Java Programmer 经典题目分析(二)

热门文章

  1. 如何使用coding.net
  2. php curl 实例+详解
  3. 2016年11月10日--CSS动画
  4. 开源中国git使用方法
  5. [转]Aptana Studio 3配置Python开发环境图文教程
  6. android上的图片占用内存问题
  7. [android]如何使LinearLayout布局从右向左水平排列,而不是从左向右排列
  8. C&#160;Primer&#160;Plus_第一章_概览_复习题与编程练习
  9. codeforces 495C. Treasure 解题报告
  10. ORACLE 远程导入导出数据库