亚洲一区在线播放-欧美另类极品videosbest使用方法-亚洲成人av在线播放-黄色录像大片-色悠悠av-91欧美日韩-中文字幕偷拍-综合色婷婷一区二区亚洲欧美国产-一级爱爱片-黑人添美女bbb添高潮了-久久青娱乐-黄色一级视屏-美女国产在线-亚洲九九九九-欧美 日韩 国产 成人 在线观看-星空大象mv高清在线观看免费-国产福利合集-好吊色视频在线观看-尤物综合网-18岁成年人网站

Html5拖拽復制

2016/9/29 11:16:55   閱讀:1811    發布者:1811

拖拽是一種常見的特性,即抓取對象以后拖到另一個位置。 在 HTML5 中,拖拽是標準的一部分,
任何元素都能夠拖拽。 Html5拖拽非常常見的一個功能,但是大部分拖拽的案例都是一個剪切的過程, 項目中需要實現
Html5拖拽復制的功能,Html5拖拽復制很簡單,只需要在普通Html5拖拽的過程中做一點小小的改動即可。

瀏覽器支持

Internet Explorer 9

Firefox

Opera 12

Chrome

Safari 5


v1.0代碼部分


<!DOCTYPE html>

<html>

<head>

    <styletype="text/css">

        #div1 {

            width: 700px;

            height: 120px;

            padding: 10px;

            border: 1px solid #aaaaaa;

        }

 

        #drag1 {

            cursor:pointer;

        }

    </style>

    <scripttype="text/javascript">

        function allowDrop(ev)  {

            ev.preventDefault();

        }

 

        function drag(ev)  {

 

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

        }

 

        function drop(ev)  {

            ev.preventDefault();

            var data = ev.dataTransfer.getData("Text");

            var item = document.getElementById(data).cloneNode();

            ev.target.appendChild(item);

        }

    </script>

</head>

<body>

    <p>請把 Windows Azure 的圖片拖放到矩形中:</p>

    <divid="div1"  ondrop="drop(event)"  ondragover="allowDrop(event)"></div>

    <br/>

    <br/>

    <br/>

    <br/>

    <br/>

    <imgid="drag1"  src="images/t_Azure.png"  draggable="true"  ondragstart="drag(event)"/>

</body>

</html>



代碼解析

實現思路就是克隆被拖拽的元素,然后把克隆元素appendChild()到指定位置

實現Html5拖拽復制的核心代碼.cloneNode()

Html5拖拽復制完成以后,其實還有很多事情可以在appendChild()執行以后完成,這個看具體需求吧

如果只是想實現傳統的HTML5拖拽的話,移除var item = document.getElementById(data).cloneNode();,然后ev.target.appendChild(data);即可