2017-08-12 4 views
1

Ich habe ein einfaches ziehbares Beispiel, das nicht funktioniert. Dragging-Element (div mit grünem Rand) bewegt sich nicht, wenn ich versuche, es mit der Maus zu bewegen.JQuery ziehbares Element bewegt sich nicht

Mein Code zum Ziehen:

$("#divDraggable").draggable({ 
    revert: 'invalid', 
    helper: 'clone' 

    }); 

Ich möchte nur Element in eine andere (größere) Element kopieren. Wenn es nicht fallen gelassen wird, bringen Sie es an seine ursprüngliche Position zurück. Warum funktioniert es nicht?

$(function(){ 
 
    
 
    $("#divDraggable").draggable({ 
 
    revert: 'invalid', 
 
    helper: 'clone' 
 
    
 
    }); 
 

 

 

 
    
 
    
 
    $("#divDroppable").droppable({ 
 
    accept: '.draggable', 
 
    drop: function (event, ui) { 
 
     debugger; 
 
     var droppable = $(this); 
 
     var draggable = ui.draggable; 
 
     draggable.clone().appendTo(droppable);   
 
    } 
 
    
 
    
 
    }); 
 

 
    
 
    
 
})
#divDroppable{ 
 
    border:1px solid black; 
 
    width: 300px; 
 
    height: 300px; 
 
} 
 

 
#divDraggable{ 
 
    margin-top: 50px; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 2px solid green; 
 
}
<script src="https://test73.webo.hosting/Scripts/jquery-1.11.0.min.js"></script> 
 
<script src="https://test73.webo.hosting/Scripts/jquery-ui-1.10.4.custom.js"></script> 
 
<link href="https://test73.webo.hosting/Styles/jquery-ui-1.10.0.custom.css" rel="stylesheet"/> 
 

 

 
<div id="divDroppable" class="draggable"></div> 
 
<div id="divDraggable"></div>

Antwort

1

Hier gehen Sie mit einer Lösung https://jsfiddle.net/4hzcq0q5/

$(function(){ 
 
    
 
    $("#divDraggable").draggable({ 
 
    revert: 'invalid', 
 
    helper: 'clone', 
 
    }); 
 
    
 
    $("#divDroppable").droppable({ 
 
    accept: '.draggable', 
 
    drop: function (event, ui) { 
 
     var droppable = $(this); 
 
     var draggable = ui.draggable; 
 
     draggable.clone().appendTo(droppable);   
 
    } 
 
    }); 
 
})
#divDroppable{ 
 
    border:1px solid black; 
 
    width: 300px; 
 
    height: 300px; 
 
} 
 

 
#divDraggable{ 
 
    margin-top: 50px; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 2px solid green; 
 
}
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
<div id="divDroppable" ></div> 
 
<div id="divDraggable" class="draggable"> 
 

 
</div>

Ausgabe mit y war ou class class="draggable" hinzugefügt zu drop statt ziehbares div.

0

Ihr Problem mit helper Attribut in ziehbar. Bitte überprüfen Sie diese Geige, ich entfernen Helper-Eigenschaft und seine Arbeit https://jsfiddle.net/x6hdan8L/1/

+0

Das OP sagt, sie wollen das Element kopieren, anstatt es zu verschieben, sie wollen wahrscheinlich 'helper: 'clone'' Ist das' accept' vielleicht das Problem? –

+0

Ok ich aktualisiere Geige jetzt https://jsfiddle.net/x6hdan8L/2/ –

+0

In deiner Geige sehe ich nicht Element ziehen? Es erscheint, wenn die Maustaste losgelassen wird. – FrenkyB

0

Syntax war falsch. Es sollte so aussehen:

$("#divDraggable").draggable({ 
    revert: true, 
    helper: 'clone' 

    }); 

Arbeitsbeispiel:

draggable

+0

Dies ist die Lösung, die Sie suchen ??? Aber diese Lösung bewegt auch nicht das grüne div. – Shiladitya

+0

@Shiladitya - Ich habe einen Link zum Arbeitsbeispiel eingefügt. In diesem Beispiel ist die Syntax wie meine ursprüngliche Frage. Obwohl, es gibt etwas mehr Code. Ich verstehe nicht, warum es funktioniert und im obigen Beispiel funktioniert es nicht. – FrenkyB

Verwandte Themen