HTML5实现拖放

2019PHP高薪工程师学习路线图....>>>

在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()事件。该事件中包括拖放开始,被拖放和结束拖放三个函数。在浏览器中打开该网页,鼠标拖动显示到网页中的晚间图片,网页会自动加载要的内容。