2
我正在使用jQuery UI进行拖放操作,而且一切正常,我所遇到的唯一问题是当我正在滚动,然后我试图拖动一个元素并将其放入滚动区域,元素将恢复到其原始位置。jQuery拖放时,放置滚动区域上的元素时,放置事件不会触发
只是为了澄清,默认情况下,当您将其拖出左侧部分时,它不会立即滚动,只有在您将其放下之后,才可以选取该元素并向左或向下滚动。
我在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);
},
});