HTML5之画布的拖拽/拖放
来源:互联网 发布:淘宝店铺手机店招图片 编辑:程序博客网 时间:2024/06/04 18:18
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function allowDrop(ev){
ev.preventDeafault();
}
function drag(ev){
ev.dataTranster.setData("Text",ev.target.id);
}
function drop(ev){
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
ev.preventDefault();
}
</script>
</head>
<body>
<div id ="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69" />
</body>
</html>
使得一个元素可以拖动
非常简单,只需要将一个元素的拖动属性修改为draggable,如下:
如何拖动 - ondragstart() 和 setData()方法
然后,我们指定当一个元素拖动的时候会执行的操作。
在上面的演示中,ondragstart属性调用了一个方法, drag(event),这里指定了那个数据被拖动。
dataTransfer.setData()方法设置了数据类型和被拖动的数据:
在这里例子中,data type是"Text",数值是被拖动元素的ID。
哪里去放置(drop) - ondragover
ondragover事件指定了拖动的元素可以被放置的位置。
缺省,数据/元素不能被drop到另外的元素。 为了允许drop,你需要先阻止缺省的处理方式。我们可以调用event.preventDefault()方法,如下:
执行放置(drop)
当可拖动的数据被drop的时候,drop事件触发。
在上面的例子中,ondrop属性可以调用一个方法,drop(event):
以上代码:
- 使用dataTransfer.getData("Text")得到被拖动的数据。这个方法将会返回setData()方法中设置的任何数据。
- 被拖动的数据是可以拖动元素("drag1")的id
- 添加可拖动的元素到放置的元素
- 调用preventDefault()方法来阻止浏览器的缺省数据处理方式(例如,打开链接)
- HTML5之画布的拖拽/拖放
- HTML5画布拖放事件教程
- HTML5画布与KineticJS拖放一组
- HTML5画布拖放多个形状
- HTML5简介&视频&音频&拖放&画布&SVG
- HTML5:学习(1)视频,拖放,画布
- HTML5之拖放属性实现图片的拖放
- HTML5的学习之拖放(四)
- HTML5参考手册之画布
- HTML5之画布Canvas
- HTML5之拖放功能
- html5之拖放
- html5之拖放
- HTML5之拖放
- HTML5之拖放
- HTML5之拖放
- HTML5之拖放
- js原生拖拽事件(HTML5的拖放 API)
- JAVA数据库连接池实现
- ecshop在php高版本中出现错误解决办法
- LeetCode: Sudoku Solver [036]
- 使用 python Matplotlib 库绘图
- php出现Cannot modify header information问题
- HTML5之画布的拖拽/拖放
- Notepad++里设置scala的语法高亮
- C++ primer 学习笔记之 String
- window.requestAnimationFrame()
- jQuery Form Validator表单验证
- java字符串、排序组合问题
- 使用cocos2dx 的JniHelper 调用记得销毁classID
- 装饰模式
- 编程之美之2.14 求数组的子数组之和的最大值