我试图同时拖动多个选定的对象。我评论了this链接以帮助我完成此操作。 我无法获得拖动多个选定对象的全部功能。 具体来说,当选择了多个对象时,我似乎无法确定被拖动的元素的坐标。这些元素始终具有 0,0 坐标。 这是我的 fiddle
有人可以检查我的代码并让我知道我错过了什么吗?
$(document).ready(function() {
$('#textbox, #textbox1').draggable(draggableOptions);
});
var selectedObjs;
var draggableOptions = {
start: function (event, ui) {
//get all selected...
selectedObjs = $('div.selected').filter('[id!=' + $(this).attr('id') + ']');
},
drag: function (event, ui) {
var currentLoc = $(this).position();
var orig = $(this).data('orig');
if (!orig) {
orig = ui.originalPosition;
}
var offsetLeft = currentLoc.left - orig.left;
var offsetTop = currentLoc.top - orig.top;
moveSelected(offsetLeft, offsetTop, selectedObjs);
$(this).data('orig', currentLoc);
}
};
function moveSelected(ol, ot, selectedObjs) {
console.log(selectedObjs.length);
selectedObjs.each(function () {
$this = $(this);
var pos = $this.position();
var l = $this.context.clientLeft;
var t = $this.context.clientTop;
$this.css('left', l + ol);
$this.css('top', t + ot);
});
}
最佳答案
我发现了问题,我不得不更改左侧和顶部的计算 请看下面的代码,
var pos = $this.position();
var l = pos.left;
var t = pos.top;
关于jquery - 我如何使用 jQuery 一次拖动多个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29149039/