【发布时间】:2018-02-04 22:50:44
【问题描述】:
当我单击该项目并开始拖动它时,它会在拖动开始时更改它的初始位置。元素在 style 属性中具有“left”和“top”属性。当它们具有绝对位置时会发生这种情况。
和 jquery:
最初是这样的:$('.tree li').draggable();
我也试过这个:
$('.tree li').draggable({
containment: '.tree',
snap: '.tree',
start: function (event, ui) {
if ($(event.target).is('.ui-draggable-dragging')) {
var x = $(event.target).offset().left;
var y = $(event.target).offset().top;
$(this).css({
'left': x,
'top': y
});
}
}
});
容器是相对的,只有列表项是绝对的。列出项目时,它们具有设置位置的样式属性。当我点击一个项目时,一开始它会改变它的位置并从改变的位置开始拖动,而不是从我点击它时的位置拖动。
这是一个小提琴: https://jsfiddle.net/oe2955m5/
【问题讨论】:
-
如果您为代码添加小提琴,我们可以为您提供更好的帮助。