zoukankan      html  css  js  c++  java
  • HTML5 拖动API

    <html>
    <head>
        <title></title>
        <meta charset=utf-8>
        <meta name=description content="">
        <meta name=viewport content="width=device-width, initial-scale=1">
    </head>
    <style>

        #canvas{
            300px;
            height:300px;
            background:orange;
            font:italic 13px century gothic;
            color:darkseagreen   ;
            padding: 5px;
        }
        
        #selector{
            500px;
            height:50px;
            border:solid 1px grey;
        }

        #selector li{
            100px;
            height:50px;
            line-height: 50px;
            list-style: none;
            display: inline-block;
        }

        .darkmagenta {
            background: darkmagenta ;
        }

        .green{
            background: green;
        }

        .brown{
            background: brown;
        }

        .darkslateblue{
            background: darkslateblue;
        }

    </style>

    <script>
    function init(){
        var lists = document.getElementsByTagName("li");
        /*set drag icon*/
        var dragicon = document.createElement("img");
        dragicon.src = 'mini-vector-icons.png';

        /*effectAllowed 一般在dragstart中设置*/
        for (var i = 0; i < lists.length; i++) {
            lists[i].setAttribute("draggable",true);
            lists[i].addEventListener("dragstart",function(e){
                var dataTransfer = e.dataTransfer;
                dataTransfer.setDragImage(dragicon,-5,-15);
                dataTransfer.effectAllowed = 'copy';
                dataTransfer.setData("text/plain",this.getAttribute("class"));
            },false)
        }

        var canvas = document.getElementById("canvas");

        /*dropEffect 一般在dragover中设置*/
        canvas.addEventListener("dragover",function(e){
            var dataTransfer = e.dataTransfer;
            dataTransfer.dropEffect = 'copy';
            e.preventDefault();
        },false)


        canvas.addEventListener("dragend",function(e){
            e.preventDefault();
        },false)

        canvas.addEventListener("drop",function(e){
            var dataTransfer = e.dataTransfer;
            var className = dataTransfer.getData("text/plain");
            this.style.backgroundColor = className;
            e.preventDefault();
            e.stopPropagation();
        },false)
    }
        document.ondragover = function(e){e.preventDefault();};
        document.ondrop = function(e){e.preventDefault();};
    </script>
    <body onload="init()">
        <ul id="selector">
            <li class="darkmagenta "></li>
            <li class="green"></li>
            <li class="brown"></li>
            <li class="darkslateblue"></li>
        </ul>

        <div id="canvas">
            <details>
                <summary><h3>支持拖动处理的mime类型</h3></summary>
                text/plain </br>
                text/html </br>
                text/xml </br>
                text/uri-list
            </details>

            <details>
                <summary><h3>DataTransfer对象的属性与方法</h3></summary>
                dropEffect </br>
                effectAllowed </br>
                setData </br>
                getData </br>
                clearData(String format) [不带参数清空所有数据]</br>
                setDragImage
            </details>
        </div>
    </body>
    </html>

  • 相关阅读:
    Android中没有插入SD情况下的文件写入和读取
    Android在OnCreate中获取控件的宽度和高度
    Android Adapter遇到的崩溃问题
    IIS Server Application Unavailable 解决方法
    Silverlight跨域访问WebService解决方法
    Silverlight 与 JS交互
    Dell 1440 黑苹果 (从10.6.3升级到10.6.8)
    Android控件系列之相册Gallery&Adapter适配器入门&控件缩放动画入门
    Android颜色编辑器的制作中遇到的问题
    马云讲给在工厂里工作的员工的话(转自qq)
  • 原文地址:https://www.cnblogs.com/mguo/p/3024294.html
Copyright © 2011-2022 走看看