8名女模特惨遭黑人侵犯|国产小视频线播放|一区二区三区四区五区黄|avdh101|新北洋遭警示|三d肉蒲完整版电影|不明身份快播

Html5拖拽復制

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

拖拽是一種常見的特性,即抓取對象以后拖到另一個位置。 在 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);即可