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>登 ...
随机推荐
- maven 编译报错 “找不到符号”
报错如下: E:\workspace\iccardcore\mis\src\main\java\com\hxsmart\sicard\core\webapp\action\process\DayEnd ...
- ural 1434. Buses in Vasyuki
1434. Buses in Vasyuki Time limit: 3.0 secondMemory limit: 64 MB The Vasyuki University is holding a ...
- HDU 2222(AC自动机模板题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2222 题目大意:多个模式串.问匹配串中含有多少个模式串.注意模式串有重复,所以要累计重复结果. 解题 ...
- 【BZOJ】1082: [SCOI2005]栅栏(二分+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1082 题意:n个给出木板,m个给出木板.可以将那m个木板锯成泥想要的长度.问最大能锯成多少个给出的n ...
- cmd下常用的一些命令
1.calc计算器 2.Mspaint画图 3.Netstat -anb查看端口 输入netstat -anb时可能会遇到下面问题 只要到搜索框输入cmd,然后到其快捷方式上右击以管理员身份运行即可 ...
- Swift UICollectionView 简单使用
最近要研究下排布的游戏关卡界面的实现,简单做了个UICollectionView的demo. 先看最后的效果: 下面来看实现的方法把,在Storyboard对应的ViewController中增加一个 ...
- Cdn加速
http://www.bootcdn.cn/ http://cdn.code.baidu.com/ backbone <script src="https://cdn.bootcss. ...
- php文件以二进制形式上传并放入到数据库中
conn.php: <?php $id=mysql_connect('localhost','root','root'); mysql_select_db("db_database12 ...
- ADO.NET对象之 DataTable
ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源. DataTable对象表示保存在本机内存中的 ...
- Ubuntu基础命令
显示历史命令的时间戳 echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc 解压文件/打包文件夹 tar -zxvf folder ...