html5实现本页面元素拖放和本地文件拖放
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>拖放本页面数据</title>
<style>
.box {
width: 400px;
height: 400px;
} #box2 {
float: left;
background-color:black;
}
#box1 {
float: left;
background-color: #cccccc;
}
</style>
</head> <body>
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
<img id="img1" src="img/xk.png" width="100px" height="100px" />
<div id="msg"></div>
<script>
var box1Div,box2Div, msgDiv, imgDiv1;
window.onload = function() {
box1Div = document.getElementById("box1");
box2Div = document.getElementById("box2");
msgDiv = document.getElementById("msg");
imgDiv1 = document.getElementById("img1");
/*box1Div.ondragenter = function(e){//当拖曳元素进入目标元素的时候触发的事件,此事件作用在目标元素上
showObj(e);
}*/
box1Div.ondragover = function(e) { //拖拽元素在目标元素上移动的时候触发的事件,此事件作用在目标元素上
e.preventDefault();
} box2Div.ondragover = function(e) { //拖拽元素在目标元素上移动的时候触发的事件,此事件作用在目标元素上
e.preventDefault();
} imgDiv1.ondragstart = function(e) { //当拖拽元素开始被拖拽的时候触发的事件,此事件作用在被拖曳元素上
e.dataTransfer.setData("imgId", "img1");
} box1Div.ondrop = dropImghandler; //被拖拽的元素在目标元素上同时鼠标放开触发的事件,此事件作用在目标元素上
box2Div.ondrop = dropImghandler;
} function dropImghandler(e) {
showObj(e.dataTransfer);
e.preventDefault(); //创建节点
var img = document.getElementById(e.dataTransfer.getData("imgId"));
e.target.appendChild(img);
} function showObj(obj) {
var s = "";
for(var k in obj) {
s += k + ":" + obj[k] + "<br/>";
}
msgDiv.innerHTML = s;
}
</script>
</body> </html>
页面元素拖放效果:
html5实现本地文件拖放
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>拖放本地数据</title>
<style>
#imgContainer{
background-color: #CCCCCC;
width: 500px;
height: 500px;
}
</style>
</head> <body>
<div id="imgContainer"></div>
<div id="msg"></div>
<script>
var imgContainer;
var msgDiv;
window.onload = function(){
imgContainer = document.getElementById("imgContainer");
msgDiv = document.getElementById("msg");
imgContainer.ondragover = function(e){
e.preventDefault();
}
imgContainer.ondrop = function(e){
e.preventDefault();
var fileObj = e.dataTransfer.files[0];
var fileReader = new FileReader();
fileReader.onload = function(e){
showObj(e.target);
imgContainer.innerHTML = "<img src='"+e.target.result+"' width='100px' height='100px' />"
}
fileReader.readAsDataURL(fileObj);
}
}
function showObj(obj) {
var s = "";
for(var k in obj) {
s += k + ":" + obj[k] + "<br/>";
}
msgDiv.innerHTML = s;
}
</script>
</body> </html>
本地文件拖放效果:
html5实现本页面元素拖放和本地文件拖放的更多相关文章
- HTML5 增强的页面元素
一.HTML5 改良的 input 元素的种类 1.<input type="number" id="num1"> var n1 = documen ...
- 【Egret】实现web页面操作PC端本地文件操作
Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...
- [html5] 学习笔记-html5增强的页面元素
在 HTML5 中,不仅增加了很多表单中的元素,同时也增加和改良了可以应用在整个页面中的元素.重点包含 figure.figcaption.details.summary.mark.progress. ...
- html5增强的页面元素
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- html5 新增的页面 元素
figure 和 figcaption元素 test.html <!DOCTYPE html> <html lang="en"> <head> ...
- F12修改html进行本地js操作页面元素
F12修改html进行本地js操作页面元素
- 读书笔记:《HTML5开发手册》--HTML5新的结构元素
读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...
- 页面元素坐标和偏移(clientX/pageX/screenX/layerX/offsetWidth/scrollWidth/clientWidth等)相关整理
鼠标事件都是在特定位置发生的,我们可以通过event事件对象的各种属性来获得事件发生的坐标位置,有相对于视口的,有相对于整个文档的,同样页面元素的位置也有相对视口的,也有滚动后的,这些都比较容易混淆, ...
- HTML5之新增的元素
今天打开博客看到自己有了一个小粉丝,说实话还是蛮开心的,坚持写博客大半年了,终于迎来了自己的第一个小伙伴.总算是坚持了那么久的事情看到了结果吧. 前几天参加了我们学院老师的比赛---<青年教师大 ...
随机推荐
- 007-spring cache-缓存实现-02-springboot ehcahe3实现、springboot caffeine实现
一.springboot ehcahe3实现步骤 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认CacheProvider.Ehcache是一种广泛 ...
- vmware克隆虚拟机
克隆步骤 右键需要克隆的虚拟机 > 管理,在克隆向导中选择完整克隆. 实验环境:win10_64bit + vmware 12 pro + CentOS6.9_64bit 克隆之后网络配置 克隆 ...
- 1124 Raffle for Weibo Followers[简单]
1124 Raffle for Weibo Followers(20 分) John got a full mark on PAT. He was so happy that he decided t ...
- svn命令行使用
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domai ...
- BCB中换行 需要 \r\n
例如: fprintf(fp,"\n");无换行效果 fprintf(fp,"\r\n");有换行效果
- Vim简明教程【CoolShell】(转)
m的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progressiv ...
- python: 基本的日期与时间转换
需要执行简单的时间转换,比如天到秒,小时到分钟等的转换. 为了执行不同时间单位的转换和计算,请使用datetime 模块.比如,为了表示一个时间段,可以创建一个timedelta 实例,就像下面这样: ...
- source insight 4.0的基本使用方法(转)
源:source insight 4.0的基本使用方法 source insight 4设置
- POI之Excel导出
1,在maven的pom文件中添加依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId& ...
- Python3.x:定时获取页面数据存入数据库
Python3.x:定时获取页面数据存入数据库 #间隔五分钟采集一次数据入库 import pymysql import urllib.request from bs4 import Beautifu ...