HTML5拖动;从Button中删除段落

时间:2014-01-20 09:17:55

标签: javascript html html5 drag-and-drop

我有以下代码(稍微修改自http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop

我修改了它以使用<p>元素。

<!DOCTYPE HTML>
<html>
<head>
    <style type="text/css">
        .div 
        {
            width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;
        }
    </style>
    <script>
        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");
            ev.target.appendChild(document.getElementById(data));
        }
    </script>
</head>
<body>
    <div class="div" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    <div class="div" ondrop="drop(event)" ondragover="allowDrop(event)">
    <p id="drag1" draggable="true" ondragstart="drag(event)" width="336" height="69">Code</p>
    <p id="drag2" draggable="true" ondragstart="drag(event)" width="336" height="69">Code</p>
</div>
</body>
</html>

如您所见,基本上有两个框可以拖动段落。我的问题是如何从按钮拖动段落?我实际上正在为移动应用程序工作,我想知道如何让用户将一个段落从按钮拖动到页面。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我不知道在多大程度上我理解你的问题,我想你可以尝试下面的代码

正在使用 DEMO

JS

  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");
            ev.target.innerHTML+=" <p>"+document.getElementById(data).innerHTML+"</p>";

        }