Ich versuche, jquery ziehbare und Dropbare zu verwenden.jQuery: Mehrere ziehbare und Droppables?
Ich habe mehrere ziehbare und mehrere dropables auf meiner Seite.
Die drga und drop funktioniert gut, aber das Problem ist, dass, wenn ich div auf 1 droppable ziehen und fallen lassen, wird es in anderen droppables auf meiner Seite auch geklont ... auch wenn ich die ziehbaren Objekte in die verschieben Droppables, sie werden wieder multipliziert.
dieses Problem zu erklären, ich habe diese FIDDLE
erstellt und dies ist meine gesamte Code:
(function ($) {
$.fn.liveDraggable = function (opts) {
this.live("mouseover", function() {
if (!$(this).data("init")) {
$(this).data("init", true).draggable(opts);
}
});
return this;
};
}(jQuery));
$('.drag').liveDraggable({
helper: 'clone',
cursor: 'move'
});
var x = null;
$(".droppable").droppable({
drop: function(e, ui) {
var parent = $(".droppable");
var x = ui.helper.clone();
var img = $(x)
var leftAdj = (ui.position.left - parent.offset().left);
var topAdj = (ui.position.top - parent.offset().top);
if (x.hasClass("outside")) {
x.css({
left: leftAdj,
top: topAdj
});
x.removeClass("outside");
}
x.draggable({
helper: 'original'
});
x.find('.ui-resizable-handle').remove();
x.resizable();
x.appendTo('.droppable');
ui.helper.remove();
}
});
Ziehen Sie die roten divs auf die schwarzen divs und Sie sollten das Problem sehen.
Könnte jemand bitte zu diesem Thema beraten?
Jede Hilfe wäre willkommen.
EDIT:
schließen Immer aber immer noch nicht ganz da: https://jsfiddle.net/qkhunz8k/2/
'Alle Ihre droppables haben Klasse abwerfbaren.' .. ja, natürlich sie haben. Dafür ist Klasse da! und tut mir leid, aber deine Geige ist immer noch nicht das, was ich versuche zu tun. Sobald der Ziehpunkt einmal gezogen wurde, wird er unzugänglich. – rooz
Okay, die Idee ist, dass, wenn Sie dies tun: '$ ('. Droppable')', die alle Elemente darstellt, die die Klasse haben. Also, wenn Sie an diese jQuery anhängen, wird es an alle anhängen.Deshalb sollten Sie an das '$ (this)' Element anhängen. Das von Ihnen geäußerte Problem war, dass das Element an mehrere Ziele angehängt wurde, als Sie es fallen gelassen haben. Deshalb passiert das. – David784
Ich habe versucht, meine Antwort ein wenig zu klären, zu erklären. Ich hoffe, es ist jetzt ein wenig klarer. Außerdem bin ich nicht sicher, was genau du meinst, wenn du sagst: "Sobald der Ziehvorgang einmal gezogen wurde, wird er nicht mehr ziehbar." Wollen Sie sagen, dass die Original-Ziehhilfen nicht gezogen werden können? Oder die angehängten Klone? Ich habe sowohl in Firefox als auch in Chrome ausprobiert und bin in der Lage, die ursprünglichen Draggables mehrmals zu ziehen. Die Klone scheinen sich darauf beschränkt zu haben, in ihren neuen Drop-Container gezogen zu werden, aber ich bin mir nicht ganz sicher, ob Sie das meinen und was Sie damit machen wollen. – David784