【发布时间】:2015-12-22 17:08:13
【问题描述】:
我已经设置了一个简单的拖放界面,它实现了克隆功能。我遇到的问题是,当元素被拖到主画布上然后放下时,它突然向右移动,而不是准确地放在我拖动它的位置。
这里是javascript:
$(function() {
var x = null;
$("#draggable").draggable({
helper: 'clone',
cursor: 'move',
snap: '.snap-target'
});
$("#canvas").droppable({
drop: function(e, ui) {
if ($(ui.draggable)[0].id != "") {
x = ui.helper.clone();
ui.helper.remove();
x.draggable({
helper: 'original',
containment: '#canvas',
snap: '.snap-target'
});
x.appendTo('#canvas');
}
}
});
});
我已经创建了一个 jsfiddle:
https://jsfiddle.net/kuyn6gmc/
如果您尝试将蓝色框拖到主画布中,然后松开鼠标,您将看到框如何“弹出”到右侧。当您在画布内移动框时,它可以正常工作。在小提琴上它并不像在浏览器上全宽那样糟糕,我认为它是相对于视口的总宽度。
如果有人知道为什么会发生这种情况,我将不胜感激:)
谢谢 迈克尔
【问题讨论】:
标签: javascript jquery css jquery-ui draggable