html5中的拖拽到垃圾箱

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
//css样式
    <style>
    body{font-size:84%;}
    .dustbin{width:100px; height:260px; line-height:1.4; background-color:gray; 
font-size:36px; font-family:"微软雅黑", "Yahei Mono"; text-align:center; text-shadow:-1px -1px #bbb; float:left;}
    .dragbox{width:500px; padding-left:20px; float:left;}
    .draglist{padding:10px; margin-bottom:5px; border:2px dashed #ccc; background-color:#eee; cursor:move;}
    .draglist:hover{border-color:#cad5eb; background-color:#f0f3f9;}
    .dragremind{padding-top:2em; clear:both;}
    </style>
</head>
<body>
//HTML片段
    <div class="dustbin"><br />垃<br />圾<br />箱</div>
    <div class="dragbox">
        <div class="draglist" title="拖拽我" draggable="true" id="list1">列表1</div>
        <div class="draglist" title="拖拽我" draggable="true" id="list2">列表2</div>
        <div class="draglist" title="拖拽我" draggable="true" id="list3">列表3</div>
        <div class="draglist" title="拖拽我" draggable="true" id="list4">列表4</div>
        <div class="draglist" title="拖拽我" draggable="true" id="list5">列表5</div>
        <div class="draglist" title="拖拽我" draggable="true" id="list6">列表6</div>
    </div>
    <div class="dragremind"></div>

    <script>
        function $(el){
            return document.querySelectorAll(el)
        }

        var drag = $(".draglist");//被拖拽的元素
        var dustbin = $(".dustbin")[0]//垃圾箱
        var dragEle = null;
        
        for(var i=0;i<drag.length;i++){
            drag[i].ondragstart = function(e){
                e.dataTransfer.effectAllowed = 'move'; //用来指定当元素被拖放式所允许的视觉效果
                e.dataTransfer.setData("text",e.target.id)
            }
        }

        dustbin.ondragover = function(ev) {

            /*拖拽元素在目标元素头上移动的时候
                ondragover 事件规定在何处可以放置被拖动的元素。
(默认地,无法将数据/ 元素放置到其他元素中。如果需要设置允许放置,则必须阻止对元素的默认事件,
即:若想触发ondrop事件,ondragover 中必须阻止默认事件。)
所以allowDrop(e)函数里通过e.preventDefault()阻止了默认行为。
            */
            ev.preventDefault();
            return true;
        };

        dustbin.ondrop = function(e){
            e.preventDefault();
            dragEle = e.dataTransfer.getData("text")
            $(".dragremind")[0].innerHTML = "<strong>"+$('#'+dragEle)[0].innerHTML+"被删除了!</strong>"
             $(".dragbox")[0].removeChild($("#"+dragEle)[0])
        }

    </script>   
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容