代码之家  ›  专栏  ›  技术社区  ›  irongirl

放入javascript的div

  •  0
  • irongirl  · 技术社区  · 9 年前

    Javascript代码:

    var dragItem1 = document.getElementById("drag1");
                    var dropdiv1 = document.getElementById("div1");
    
                    //event will be fired when a user starts dragging the item
                    dragItem1.ondragstart = function (evt) {
                        evt.dataTransfer.setData('key1', evt.target.id);
                        console.log("its dragging..");
                    }
    
                    //event will be fired when an element is selected and dragged over a drop location
                    dropdiv1.ondragover = function (evt) {
                        evt.preventDefault();
                        console.log("it's dragover..");
                    }
    
                    //event will be fired when you drop dragged item on drop location
                    dropdiv1.ondrop = function (evt) {
                        evt.preventDefault();
                        var dropItem1 = evt.dataTransfer.getData('key1');
                        console.log(evt);
                        console.log("its dropped..");
                        console.log(dropItem1);
                        var myElement1 = document.getElementById(dropItem1);
                        console.log(myElement1);
                        var myNewElement = document.createElement('img');
                        myNewElement.src = myElement1.src;
                        console.log(myNewElement);
                    }
    

    HTML代码:

    <img id="drag1" draggable="true" src="images/equation1_3.png">
    
    <div class="boxFirstCol box1 b1 box" id="div1" ondrop="ondrop(event)" ondragover="allowDrop(event)"> </div>
    
    2 回复  |  直到 9 年前
        1
  •  0
  •   Lasitha Petthawadu    9 年前

    使用 document.getElementById("div1").appendChild(myNewElement); 将元素添加到放置位置。

    var dragItem1 = document.getElementById("drag1");
                    var dropdiv1 = document.getElementById("div1");
    
                    //event will be fired when a user starts dragging the item
                    dragItem1.ondragstart = function (evt) {
                        evt.dataTransfer.setData('key1', evt.target.id);
                        
                    }
    
                    //event will be fired when an element is selected and dragged over a drop location
                    dropdiv1.ondragover = function (evt) {
                        evt.preventDefault();
                      
                    }
    
                    //event will be fired when you drop dragged item on drop location
                    dropdiv1.ondrop = function (evt) {
                        evt.preventDefault();
                        var dropItem1 = evt.dataTransfer.getData('key1');
                       
                        var myElement1 = document.getElementById(dropItem1);
                        console.log(myElement1);
                        var myNewElement = document.createElement('img');
                        var myNewElement
                        myNewElement.src = myElement1.src;
                        document.getElementById("div1").appendChild(myNewElement);
    
                    }
    <img id="drag1" draggable="true" src="http://www.icon2s.com/img64/64x64-animal-icon-hamster.png">
    
    <div style="background-color:red;width:200px;height:200px;" id="div1" ondrop="ondrop(event)" ondragover="allowDrop(event)"> </div>
        2
  •  0
  •   guest271314    9 年前

    您可以使用 .appendChild() <img> 元素到 event.target 在内部 drop 事件处理程序。

    dropdiv1.ondrop = function(evt) {
      evt.preventDefault();
      var dropItem1 = evt.dataTransfer.getData('key1');
      console.log(evt);
      console.log("its dropped..");
      console.log(dropItem1);
      var myElement1 = document.getElementById(dropItem1);
      console.log(myElement1);
      var myNewElement = document.createElement('img');
      myNewElement.src = myElement1.src;
      console.log(myNewElement);
      evt.target.appendChild(myNewElement); // append `<img>` to `<div>`
    }
    

    http://plnkr.co/edit/OndnpzsIJjTjhbiNbhUc?p=preview