html画布拖放图片,HTML5之画布的拖拽/拖放

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();

}

img_logo.gif

使得一个元素能够拖动

很easy。仅仅须要将一个元素的拖动属性改动为draggable,例如以下:

1294317200911441920.htmdraggable="true"/>

怎样拖动 - ondragstart() 和 setData()方法

然后,我们指定当一个元素拖动的时候会运行的操作。

在上面的演示中。ondragstart属性调用了一个方法, drag(event)。这里指定了那个数据被拖动。

dataTransfer.setData()方法设置了数据类型和被拖动的数据:

functiondrag(ev){

ev.dataTransfer.setData("Text",ev.target.id);

}

在这里样例中。data type是"Text",数值是被拖动元素的ID。

哪里去放置(drop) - ondragover

ondragover事件指定了拖动的元素能够被放置的位置。

缺省,数据/元素不能被drop到另外的元素。 为了同意drop,你须要先阻止缺省的处理方式。我们能够调用event.preventDefault()方法,例如以下:

event.preventDefault()

运行放置(drop)

当可拖动的数据被drop的时候,drop事件触发。

在上面的样例中。ondrop属性能够调用一个方法。drop(event):

functiondrop(ev)

{

vardata=ev.dataTransfer.getData("Text");

ev.target.appendChild(document.getElementById(data));

ev.preventDefault();

}

以上代码:

使用dataTransfer.getData("Text")得到被拖动的数据。这种方法将会返回setData()方法中设置的不论什么数据。

被拖动的数据是能够拖动元素("drag1")的id

加入可拖动的元素到放置的元素

调用preventDefault()方法来阻止浏览器的缺省数据处理方式(比如,打开链接)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值