您的位置:首页 > Web前端 > HTML5

html5实现拖放

2015-04-22 20:49 246 查看
在html5中,支持拖放API接口,通过该功能,数据可以在浏览器与其他应用程序之间互相拖放,想要实现该操作,必须经过一下两个步骤

(1)将想要拖放的对象标签的draggable属性设为true。这样才能将该标签进行拖放,令外,img标签与a标签必 须指定为true,默认允许拖放。

(2)编写与有拖放有关的事件处理代码,常用的播放事件如下:

dragstart 开始拖放操作

drag 拖放过程中

dragenter 被拖放的标签开始进入本标签的范围内

dragover 被拖放的标签正在本标签范围内移动

dragleave 被拖放的标签离开本标签的范围

drop 有其他的标签被拖放到本标签中

dragend 拖放操作结束

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>拖放</title>

<script type="text/javascript">

function init()

{

// (1) 拖放开始

source.addEventListener("dragstart", function(ev)

{

//(1) 向dataTransfer对象追加数据

var dt = ev.dataTransfer;

dt.effectAllowed = 'all';

//(2) 拖动元素为dt.setData("text/plain", this.id);

dt.setData("text/plain", "你好");

}, false);

// (3) dragend:拖放结束

dest.addEventListener("dragend", function(ev)

{

//不执行默认处理(拒绝被拖放)

ev.preventDefault();

}, false);

// (4) drop:被拖放

dest.addEventListener("drop", function(ev)

{

// 从DataTransfer对象那里取得数据

var dt = ev.dataTransfer;

//(5) 不执行默认处理(拒绝被拖放)

ev.preventDefault();

//停止事件传播

ev.stopPropagation();

}, false);

}

</script>

</head>

<body onload="init()">

<h5>请拖放</h5>

</html>

在上述的代码中,在页面加载时,自动触发inint()事件。该事件中包括拖放开始,被拖放和结束拖放三个函数。在浏览器中打开该网页,鼠标拖动显示到网页中的晚间图片,网页会自动加载要的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: