Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dropped element not visible

I have a image that gets dropped,but it is not visible here after when Element is dropped.Message gets displayed but the image is not visible when actually dropped.
Dropped Element is not visible when it is dropped. I know problem may be with appendchild, But I can't figure out why it is not working.

here is my code: CSS

.droptarget {
        float: left;
        width: 100px;
        height: 35px;
        margin: 15px;
        padding: 10px;
        border: 1px solid #aaaaaa;
    }
    .auto-style1 {
        float: left;
        width: 100px;
        height: 35px;
        margin: 15px;
        padding: 10px;
        border: 1px solid #aaaaaa;
        text-align: right;
    }

Javascript

  function startDrag(event) {
        event.dataTransfer.setData("Text", event.target.id);
        document.getElementById('demo').innerHTML = 'You started to Drag!!';
    }

    function allowDrop(event) {
        event.preventDefault();
    }

    function drop(event) {
        event.preventDefault();
        var dropElement = event.dataTransfer.getData("Text");
        event.target.appendChild(document.getElementById('dropElement'));
        document.getElementById('demo').innerHTML = 'Element Dropped!!';
    }

HTML

  <div class="auto-style1">
                <img id="Drag1" src="../Downloads/Nobi.jpg" style="width:34px" height="45px" draggable="true" ondragstart="startDrag(event)" ondragover="allowDrop(event)" />

            </div>
            <div class="droptarget" draggable="true" ondrop="drop(event)" ondragover="allowDrop(event)">

            </div>
            <p id="demo"> </p>
like image 766
Prasad_Joshi Avatar asked Jun 26 '26 05:06

Prasad_Joshi


1 Answers

Try This

Here is the Demo

Here is the Reverse Case Demo

Reverse Case HTML

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
        <img ondragstart="drag(event)" draggable="true" title="drag here" id="myImage" src="http://www.rw-designer.com/res/oism.png" />

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

Try Using this Code

HTML

<h1>Drag and Drop</h1>
<span draggable="true" id="div1"  ondragstart="drag(event)">
        <img title="drag here" id="myImage" src="http://www.rw-designer.com/res/oism.png" />
</span>

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

Javascript

function drag(ev)
{
//alert('dragged');
ev.dataTransfer.setData("dk",ev.target.id)
} 
function drop(ev)
{
ev.preventDefault();

    var data = ev.dataTransfer.getData("dk");
    ev.target.appendChild(document.getElementById(data));
}

function allowDrop(ev)
{
ev.preventDefault();

}
like image 131
Dinesh Kanivu Avatar answered Jun 28 '26 20:06

Dinesh Kanivu