HTML5 拖拽功能
<script>
var DragFile = function (goalId) {
var g = document.getElementById(goalId); RegDragFile(g, CostFunc_File_ondrop);
}; var CostFunc_File_ondrop = function (e, goalIdObj) { var fileObj = e.dataTransfer.files[0]; //创建一个读取文件的流
var fileR = new FileReader(); //加载文件时在目标域加上一个图片标签
fileR.onload = function (e) {
goalIdObj.innerHTML = "<img src=" + this.result + "/>";
}; //读取文件的地址
fileR.readAsDataURL(fileObj); };
var RegDragFile = function (goalIdObj, Cust_File_ondrop) {
goalIdObj.ondragover = function (e) {
//阻止系统默认操作(前后都要做操作)
e.preventDefault();
}; goalIdObj.ondrop = function (e) {
//阻止系统默认操作(前后都要做操作)
e.preventDefault(); //用户自定义函数
CostFunc_File_ondrop(e, this);
};
};
</script>
/**
* @author Zzq
*/
<script type="text/javascript">
var Act = {};
Act.DragAction = undefined; (function () { var DragAction_GoalArray = function (goalIdArray, sourceId) {
goalIdArray = goalIdArray || [];
var Exec = " "; for (var ele in goalIdArray) {
Exec += DragAction(goalIdArray[ele], sourceId) + " ";
} return new Function(Exec);
}; var DragAction = function (goalId, sourceId) {
var g = document.getElementById(goalId);
var s = document.getElementById(sourceId); RegDragAction(g, s, Cust_ondrop, Cust_ondragstart);
}; var Cust_ondrop = function (e, goalIdObj) {
var tmpObj = document.getElementById(e.dataTransfer.getData("sId"));
goalIdObj.appendChild(tmpObj);
}; var Cust_ondragstart = function (e, sourceId) {
//实质就是传给句柄的一个数据槽(所以第一个参数自定义即可)
e.dataTransfer.setData("sId", sourceId);
}; var RegDragAction = function (goalIdObj, sourceIdObj, CostFunc_ondrop, CostFunc_ondragstart) {
goalIdObj.ondragover = function (e) {
//阻止系统默认操作(前后都要做操作)
e.preventDefault();
}; goalIdObj.ondrop = function (e) {
//阻止系统默认操作(前后都要做操作)
e.preventDefault(); //用户自定义函数
CostFunc_ondrop(e, this);
}; sourceIdObj.ondragstart = function (e) {
//用户自定义函数
CostFunc_ondragstart(e, this.getAttribute("id"));
};
}; Act.DragAction = DragAction_GoalArray; })(); onload = function () {
var Ary = ["a2", "a3", "a4"]; Act.DragAction(Ary, "a1");
}
</script>
HTML5 拖拽功能的更多相关文章
- HTML5拖拽功能中 dataTransfer对象详解
有了HTML5,老板再也不用担心我们的上传了,再加上有拖拽上传是不是很酷.百度一下,有关HTML5拖拽上传的文章和实例不少,都缺不了一个至关重要的东东DataTransfer.但是详细介绍的不多,尤其 ...
- HTML5拖拽功能drag
1.创建拖拽对象 给需要拖拽的元素设置draggable属性,它有三个值: true:元素可以被拖拽:false:元素不能被拖拽:auto: 浏览器自己判断元素是否能被拖拽. 2.处理拖拽事件当我们拖 ...
- html5中的拖拽功能
拖拽元素支持的事件 ondrag 应用于拖拽元素,整个拖拽过程都会调用 ondragstart 应用于拖拽元素,当拖拽开始时调用 ondragleave 应用于拖拽元素,当鼠标离开拖拽元素是调用 on ...
- Html5拖拽复制
拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖拽是标准的一部分,任何元素都能够拖拽. Html5拖拽非常常见的一个功能,但是大部分拖拽的案例都是一个剪切的过程, 项目中需 ...
- JQuery UI的拖拽功能
JQuery UI是JQuery官方支持的WebUI 代码库,包含底层交互.动画.特效等API,并且封装了一些Web小部件(Widget).同时,JQuery UI继承了jquery的插件支持,有大量 ...
- HTML5 拖拽实现
简介: 最早在网页中引入JavaScript拖放功能是IE4.当时,网页中只有两种对象可以拖放:图像和某些文本.拖放图像时,把鼠标放到图像上,按住鼠标不放就可以拖放它.拖放文本时,要先选中文本,然后可 ...
- JQuery UI的拖拽功能实现方法小结
JQuery UI提供的API极大简化了拖拽功能的开发.只需要分别在拖拽源(source)和目标(target)上调用draggable和droppable两个函数即可. 拖拽原理 首先要明确几个概念 ...
- RCP:拖拽功能的实现 Drag and Drop
SWT中的拖拽是使用的org.eclipse.swt.dnd. 有三个需要密切注意的类: 1.DragSource 2.DropTarget 3.Transfer DragSource封装了需要被拖拽 ...
- js实现登陆页面的拖拽功能
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>登 ...
随机推荐
- 折线分割平面[HDU2050]
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- BZOJ 1001 & SPFA
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MB Description 现在小朋友们最喜欢的"喜羊羊与灰太狼 ...
- LA 4080 (多源最短路径+边修改+最短路径树)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=32266 题目大意:①先求任意两点间的最短路径累加和,其中不连通的边 ...
- Linux系统管理员踢用户的方法
两种方法:1.使用pkill命令 1.1 通过who 或则 w 查看当前连接的用户 例如: w USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT jjony pts/0 ...
- 如何设置NBU的Backup, Archive and Restore
第一行表示Master Server 第二行猜测表示当前主机 第三行不清楚 总结: 1. 这里压根就没有Media Server的事, Media Server对整个备份系统来说是透明的. 2. ...
- ci调用application/views下的css,js,图片资源出现You don't have permission to access CodeIgniter on this server解决
原因是view文件下面有个.htaccess文件,里面写的是 Deny from all //拒绝所有请求 自己本地测试的话,就直接去掉,放到服务器就指定application/views文件 ...
- 如何设置jquery的ajax方法为同步
jax请求默认的都是异步的如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: ...
- Web交互设计优化的简易check list
Web交互设计优化的简易check list 00 | 时间: 2011-02-11 | 28,842 Views 交互设计, 用户研究 “优化已有产品的体验”,这是用户体验相关岗位职责中常见的描 ...
- 记录一个bug -- sprintf
#include<iostream> #include<stdio.h> int main () { char buf[10] = {0}; sprintf(buf," ...
- 纯CSS制作三角(转)
原原文地址:http://www.w3cplus.com/code/303.html 原文地址:http://blog.csdn.net/dyllove98/article/details/89670 ...