HTML学习笔记(二)

1、HTML5新增的拖放API
html5中 img 是默认可拖拽的 a 标签加上href也是
而对于普通元素开发者只要把该元素的draggable属性设置为true

<div id="source" draggable="true" style="width:80px;height:80px; border:1px solid black; background-color:#bbb; float:right;">
	教育
</div>
<script type="text/javascript">
	var source = document.getElementById("source");
	source.ondragstart - function(evt){
		evt.dataTransfer.setData("text","疯狂软件")
	}		
</script>

而有的浏览器在你移动的时候会有一个禁止的标志不被允许阻止了默认的拖动事件
可以加上

document.ondragover = function(evt){
	//取消时间默认行为 不单单可以在这个时间中使用比如 链接的跳转可以让他不响应
	return false;
}

拖放操作相关的事件
在这里插入图片描述

自由拖动的div元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <base target="_blank" href="http://www.crazyit.org"/>
	<title>Title</title>
	
</head>

<body>
	<div id="source" draggable="true" style="width:80px;height:80px; border:1px solid black; background-color:#bbb; float:right;">
		教育
	</div>
	
</body>
	<script type="text/javascript">
		var source = document.getElementById("source");
		source.ondragstart = function(evt){
		//让拖动操作携带数据
			evt.dataTransfer.setData("text","aaa");
			
		}
				
		document.ondragover = function(evt){
			return false;
		}
		
			document.ondrop = function(evt){
			source.style.position = "absolute";
			source.style.left = evt.pageX+"px";
			source.style.top = evt.pageY+"px";
			
			return false;
			
		}
	
	</script>
</html>

升级版 两个块拖动互不干扰


	<div id="source" ondrag="change(this.id)" draggable="true" style="width:80px;height:80px; border:1px solid black; background-color:#bbb; float:right;">
		教育
	</div>
	
	<div id="source1" ondrag="change(this.id)" draggable="true" style="width:80px;height:80px; border:1px solid black; background-color:#bbb; float:right;">
		教育sssssss
	</div>

	<script type="text/javascript">
		change = function(id){

			var source = document.getElementById(id);
			source.ondragstart = function(evt){
				evt.dataTransfer.setData("text","sss ");
				
			}
					
			document.ondragover = function(evt){
				return false;
			}
			
				document.ondrop = function(evt){
				//这几个属性都是evt事件带有的属性可以f12查看				
				source.style.position = "absolute";
				source.style.left = evt.pageX+"px";
				source.style.top = evt.pageY+"px";
				return false;
				
			}
		}
	
	</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值