在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()事件。该事件中包括拖放开始,被拖放和结束拖放三个函数。在浏览器中打开该网页,鼠标拖动显示到网页中的晚间图片,网页会自动加载要的内容。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10088.html