我有一个选择和拖动功能。基本上你可以选择3个元素并将它们拖到一起。
问题在于Chrome。如果一个元素具有“-webkit transform:rotate”适当性,则整个跨度会跳起来。这很奇怪,因为它在Firefox中的分叉很好。
您可以在以下位置看到一个工作示例:
http://jsfiddle.net/K2EX9/4/
只需在Chrome中尝试一下,用鼠标选择3个元素并拖动它们。
以下是代码:
$('#selectable1').bind('dragSetup', function() {
var selected = $([]), offset = {top:0, left:0};
$('#selectable1 span.drag').draggable({
start: function(ev, ui) {
$(this).is("#selectable1 span.ui-selected") || $("#selectable1 span.ui-selected").removeClass("ui-selected");
selected = $("#selectable1 span.ui-selected").each(function() {
var el = $(this);
el.data("offset", el.offset());
});
offset = $(this).offset();
},
drag: function(ev, ui) {
var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
selected.not(this).each(function() {
var el = $(this), off = el.data("offset");
el.css({top: off.top + dt, left: off.left + dl});
});
},
});
});
非常感谢。