Ich musste auch dasselbe tun, und ich wollte keine Schnittstellenerweiterung von eyecon.ro verwenden. Nach einigen Recherchen fand ich Combining Selectables And Draggables Using jQuery UI. Es ist schön erzählt, aber um die Code-Schnipsel laufen zu lassen, müssen Sie hinein graben. Ich konnte es zum Laufen bringen. Ich habe es leicht geändert, das ist mein Weg, um es zu erledigen. Es braucht Modifikationen für den Einsatz auf Produktionsebene, aber ich hoffe, es hilft.
// this creates the selected variable
// we are going to store the selected objects in here
var selected = $([]), offset = {top:0, left:0};
// initiate the selectable id to be recognized by UI
$("#selectable").selectable({
filter: 'div',
});
// declare draggable UI and what we are going to be doing on start
$("#selectable div").draggable({
start: function(ev, ui) {
selected = $(".ui-selected").each(function() {
var el = $(this);
el.data("offset", el.offset());
});
if(!$(this).hasClass("ui-selected")) $(this).addClass("ui-selected");
offset = $(this).offset();
},
drag: function(ev, ui) {
var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
// take all the elements that are selected expect $("this"), which is the element being dragged and loop through each.
selected.not(this).each(function() {
// create the variable for we don't need to keep calling $("this")
// el = current element we are on
// off = what position was this element at when it was selected, before drag
var el = $(this), off = el.data("offset");
el.css({top: off.top + dt, left: off.left + dl});
});
}
});
CSS-Stile in der Lage sein zu sehen, was passiert:
#selectable { width: 100%; height: 100%;}
#selectable div {
background: #ffc;
line-height: 25px;
height: 25px;
width: 200px;
border: 1px solid #fcc;
}
#selectable div.ui-selected {
background: #fcaf3e;
}
#selectable div.ui-selecting {
background: #8ae234;
}
HTML-Code:
<div id="selectable">
<div>item 1</div>
<div>item 2</div>
<div>item 3</div>
<div>item 4</div>
</div>
Code in http://stackoverflow.com/questions/34698117/elements-became-randomly-non-resizable-after-dragging queston enthält auch eine Antwort auf diese Frage Allerdings Code in Antworten verursachen zufällige Verlust der Größe in der Größe veränderbar – Andrus