我有许多要拖放到文件夹中的带有图像的可拖动文件。为了节省空间(并一次在屏幕上显示更多可拖动对象),我在拖动过程中使用 CSS 隐藏图像。当图像消失时,如何将鼠标保持在可拖动状态?
这是我所看到的示例,仅使用了一个简单的可拖动框:
$( "#draggable" ).draggable({
revert: "invalid",
cursor: "move",
scroll: false,
cursorAt: { top: 5, left: 5 },
start: function(event, ui) {
$('img').addClass('hidden');
},
stop: function(event, ui) {
$('img').removeClass('hidden');
}
});
该类hidden
用于display:none;
隐藏图像。正如您在小提琴中看到的那样,拖动第一个图像可以正常工作,并且在您拖动时鼠标会沿着框的左上角移动。当您拖动第二个时,鼠标会飘到一边,因为在删除图像时已经设置了 cursorAt 值。
我不想使用辅助克隆(因为这会使移动看起来更像是副本),但这是我迄今为止发现的唯一让它起作用的方法。我尝试在启动函数的超时内重置 cursorAt,但它似乎没有效果。
有没有办法让光标和可拖动的东西以某种方式保持在一起?