HTML5学习之拖放(十)
2024-09-13 03:39:13
l元素可以用于拖拽必须设置draggable="true"属性,img和a标签除外,她们两个默认就可以被拖拽
想做拖拽处理,就需要在Dom元素上监听拖放的事件:dragstart,drag,dragenter,dragover,dragleve,drop,dragend
在文档中,默认document最先触发以上事件,而默认的处理是阻止页面元素的变化,想人为的控制拖拽的元素的变化需要我们改动代码。所有必需去掉document的默认处理
document.ondragover = function(e) {
e.preventDefault();
};
document.ondrop = function (e) {
e.preventDefault();
};
拖拽事件event中属性:dataTransfer是传递数据的关键。使用dataTransfer的setData(“Text",data)方法,把要拖拽的数据放到dataTransfer中,在拖拽完毕的事件中,再从中取出数据,用方法:getData("text/plain");
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style>
#d1, #d2 {
width:200px;
height:200px; border:1px solid gray;
float:left;
margin-right:20px;
} </style>
<script>
function drag(e) {
e.dataTransfer.setData("Text", e.target.id);
} function dragover(e) {
e.preventDefault();
} function move1(e) {
e.preventDefault();
var id = e.dataTransfer.getData("Text");
e.target.appendChild(document.getElementById(id));
}
</script>
</head>
<body>
<div id="d1" ondragover="dragover(event)" ondrop="move1(event)">
<img id="i1" src="ts.gif" draggable="true" ondragstart="drag(event)" /><br />
<a id="Img1" draggable="true" ondragstart="drag(event)">把我也拖走吧!</a>
</div> <div id="d2" ondragover="dragover(event)" ondrop="move1(event)"></div>
</body>
</html>
最新文章
- Adobe Photoshop CC 打开时报错~配置错误:请卸载并重新安装该产品
- 子类重载父类的方法“parent::方法名”转于 恩聪PHP学习教程
- phpcms--模型管理,推荐位管理,类别管理
- linux档案与文件的的压缩与打包
- JavaScript高级 面向对象的程序设计 (二)《JavaScript高级程序设计(第三版)》
- Tomcat剖析(一):一个简单的Web服务器
- WinForm 读写配置文件
- 如何将top命令输出重定向为文件
- kubernetes之flannel
- python 将png图片格式转换生成gif动画
- python算法-选择排序
- web移动端区分Android或者ios系统
- js数组条件筛选——map()
- PAT 乙级 1051 复数乘法 (15) C++版
- 腾讯云ubuntu安装Mysql并配置远程访问
- N76E003之串口
- Silverlight 5 Developer Rumtime
- centOS 6.5关闭防火墙步骤
- rake aborted! You have already activated rake 10.1.0, but your Gemfile requires rake 10.0.3. Using bundle exec may solve this.
- Oracle Certified Java Programmer 经典题目分析(二)
热门文章
- 如何使用coding.net
- php curl 实例+详解
- 2016年11月10日--CSS动画
- 开源中国git使用方法
- [转]Aptana Studio 3配置Python开发环境图文教程
- android上的图片占用内存问题
- [android]如何使LinearLayout布局从右向左水平排列,而不是从左向右排列
- C&#160;Primer&#160;Plus_第一章_概览_复习题与编程练习
- codeforces 495C. Treasure 解题报告
- ORACLE 远程导入导出数据库