我正在使用 jQuery UI 进行拖放,一切都很好,我唯一的问题是,当我滚动时,我试图拖动一个元素并将其放在滚动区域中,该元素被还原回到原来的位置。
澄清一下,默认情况下,当您将其拖出左侧部分时,它不会立即滚动,只有在您放下它一次之后,您才能选择该元素并向左或向下滚动。
我在jsfiddle上发布了一个示例,演示了我的问题。
$("#sidebar section span").draggable({
cursor: "move",
helper: "clone",
revert: "invalid",
//containment: "html",
scroll: true
});
$("#main section").droppable({
tolerance: 'fit',
accept: "#sidebar section span",
drop: function(e, ui)
{
console.log("Drop");
var $draggedElement = ui.draggable;
var $droppedArea = $(this);
var droppedAreaLeft = $droppedArea.offset().left;
var droppedAreaTop = $droppedArea.offset().top;
$droppedArea.parent().css("overflow", "auto");
var $draggableElement = $draggedElement.clone();
$draggableElement.draggable({
containment: [droppedAreaLeft, droppedAreaTop],
scroll: true,
scrollSpeed: 10,
scrollSensitivity: 10
});
$droppedArea.append($draggableElement);
$draggableElement.offset(ui.offset);
},
});