У меня есть элементы с margin:0px auto;
набор, который я пытаюсь перетащить. Когда начинается перетаскивание, элемент смещается влево, не учитывая автоматический запас. Слегка перемещается по левому краю курсора. Я пытаюсь перетащить элемент в droppable, который находится справа от элемента. Из-за этого смещения droppable не активируется. Если я изменил размер окна так, чтобы автоматическое поле почти ничего не произошло, элемент будет правильно активировать droppable.jqueryui draggable смещение смещения при перетаскивании
Я пробовал cursorAt
и менял css перетаскиваемого внутри функции перетаскивания, но ни один из них не работает. То же самое происходит с помощником клона. Если я утешу функцию перетаскивания, похоже, что она работает, но элемент фактически не смещается вправо там, где он должен быть.
start: function(e, ui){
$(ui.helper).addClass("ui-draggable-helper");
window.cloneoffset = parseInt($(this).css('margin-left'));
console.log(window.cloneoffset);
},
// cursorAt:{left:window.cloneoffset}
drag:function(){
$('.ui-draggable-helper').css('left',(parseInt($('.ui-draggable-helper').css('left'))+window.cloneoffset)+'px');
}
Это идеальное решение. Я использовал [это расширение jquery] (http://stackoverflow.com/a/2389549), чтобы упростить эту идею, чтобы он не разворачивался с использованием '.unwrap ('. Selector');' при множественных действиях перетаскивания – adamell