【html】学习记录-拖放(drag and drop)
目的:实现拖动目标并放置到指定区域。
使元素可拖动,涉及到元素的全局属性draggable
<img draggable="true" />
即img元素设置为可拖动。
浏览HTML的Mouse事件属性,需要为img分配ondragstart属性,为div分配ondrop和ondragover属性。
首先需要确定拖动对象,即需要获取被drag元素的数据,这里用到dataTransfer对象的setData方法,设被调用方法名称为drag(ev),则该方法定义如下:
function drag(ev){
ev.dataTransfer.setData("Text",ev.target.id);
}
当draggable数据被drop时,首先drop区域div要允许img被放在此处,这是要用ondragover属性调用一个function,用到方法preventDefault(),设function名为allowDrop(ev):
function allowDrop(ev){
ev.preventDefault();
}
当被拖动元素被drop时,执行drop事件。用到body对象的appendChild方法(即“附加行为”)。用getData()获取“附加”到drop目的地的元素数据,传给ondrop(),此处的数据即先前由setData()获得的img元素数据。设方法为drop:
function drop(ev){
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
ev.preventDefault();
alert("233");
}
1.dataTransfer对象的getData方法,获取img数据
2.target对象的appendChild方法,附加新获取的img数据到原div元素数据
3.document对象的getElementById方法,
完整代码:
<p>move the picture to the div</p> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" ></div> <img id="drag1" src="http://www.gbtags.com/gb/laitu/100x100&text=GBtags/efb73e/FFFFFF" draggable="true" ondragstart="drag(event)"></img> <style type="text/css">
div
{ width:100px;
height:100px;
padding:10px;
border:1px solid #CCC;}
</style> <script>function drag(ev){
ev.dataTransfer.setData("Text",ev.target.id);
} function allowDrop(ev){
ev.preventDefault();
} function drop(ev){
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
ev.preventDefault();
alert('Move Successfully!');
}</script>
资料:http://www.jb51.net/shouce/dhtml/objects/DD.html
【html】学习记录-拖放(drag and drop)的更多相关文章
- HTML5 之拖放(drag与drop)
拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. HTML5 拖放实例 ...
- HTML 5 拖放(Drag 和drop)
浏览器支持 Internet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5. 1.把标签 draggable 属性设置为 true. 2.向标签添加on ...
- Android开发者指南-用户界面-拖放-Drag and Drop[原创译文]
英文原文:http://developer.android.com/guide/topics/ui/drag-drop.html 版本:Android 4.0 r1 译者注:黄色底色为未决译文 快 ...
- HTML5 拖放---drag和drop
拖放四步走:第一步:设置元素可拖放,即把 draggable属性设置为 true: 例:<div id="div" draggable="true"&g ...
- 拖放(Drag和Drop)--html5
拖放,就是抓取一个对象后拖放到另一个位置.很常用的一个功能,在还没有html5的时候,我们实现这个功能,通常会用大量的js代码,再利用mousemove,mouseup等鼠标事件来实现,总的来说比较麻 ...
- 在Blazor中实现拖放(drag and drop)
前言 我在实现一个含有待办列表功能的页面时,发现了一个好看的设计,它将待办分为--"待办","正在进行",和"已完成"三种状态,并且将待办通 ...
- HTML5 拖放(Drag 和 Drop)功能开发——基础实战
随着HTML5的普及度越来越高,现在写代码也遇到一些了,经过同事的点播开展了一次Dojo活动用以技术交流,我也乘此机会将HTML5的拖放功能整理了一下. 简介 拖拽(Drag/Drop)是个非常普遍的 ...
- HTML5学习笔记 拖放
拖放(Drag和drop)是html5标准的组成部分 拖放是一种常见的特性,即抓取对象以后拖到另一个位置 在html5中,拖放是标准一部分,任何元素都能够拖放. 设置元素为可拖放 首先,为了使元素可拖 ...
- HTML5 学习05—— 拖放(Drag 和 Drop)
拖放(Drag 和 drop)是 HTML5 标准的组成部分.即抓取对象以后拖到另一个位置. 例:将w3cschool图标拖动到矩形框中. <script> function allowD ...
随机推荐
- audacity开源VS2013环境搭建
audacity是非常不错的音频开源,其中音频效果处理的种类很多,非常方便借鉴和研究. 但是audacity的界面库是使用wxWidgets(一个跨平台的界面库),配置过程中需要折腾一下. 1,首先去 ...
- 测试环境搭建心得 vs2008+SQL2008 PHP+APACHE+mysql Team Foundation Server2013
大四即将结束,大学的最后一个假期,找到一份实习工作,担任测试工程师.在过年前的最后一周入职,干了一周的活儿.主要工作就是搭建测试环境. VMware 主要熟悉VMware软件,装系统基本都没什么问题. ...
- OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- 转载文章----十步完全理解SQL
转载地址:http://blog.jobbole.com/55086/ 很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程 ...
- TCP connect的错误返回值
如果是TCP套接字,调用connect函数将激发TCP三次握手过程,而且仅在连接建立成功或出错时返回,其中错误返回可能有下面几种情况: (1)若TCP客户没有收到SYN分节的响应,则返回ETIMEDO ...
- MySQL 常用的sql语句小结(待续)
mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...
- C#扩展方法知多少
前言:上篇 序列化效率比拼——谁是最后的赢家Newtonsoft.Json 介绍了下序列化方面的知识.看过Demo的朋友可能注意到了里面就用到过泛型的扩展方法,本篇打算总结下C#扩展方法的用法.博主打 ...
- Learning to rank 特征抽取
http://blog.csdn.net/puqutogether/article/details/42124491 http://www.microsoft.com/en-us/research/p ...
- python 正则
\s :空白符;\S :非空白符;[\s\S] :任意字符;[\s\S]* :0个到多个任意字符;[\s\S]*? : 0个字符,匹配任何字符前的位置; \d:数字; \B:非数字 ; \w:匹 ...
- cocopod 中添加第三方框架,包含静态库文件,使用svn添加上传
step one: 进入静态库文件的目录 cd 路径: step two:使用命令添加 svn add 静态库名字; 然后更新一下代码就OK