我想创建一些像UI设计器的东西。所以我有一个'工具箱'和'画布'。当我将工具箱项标记为可拖动时,我可以拖动它们。但我需要的是拖动副本,以便可以将工具项的多个实例拖动到画布上。拖动对象时更改拖动对象开始
$('.tool-box-item').draggable({
helper : 'clone',
drag : function (event, ui){
// jQuery does not allow object modification here
},
});
这不起作用,因为只有在拖动时才应用克隆,只要拖动完成,原始元素就会移动。我试着覆盖拖动属性,但我无法修改拖动的元素。开始的情况也是如此。
注意:我不能使用停止事件,因为我想在拖动开始时创建副本,而不是在它之后创建副本。我还能够通过将画布定义为可拖放并在其中创建副本来创建副本,但是当拖动开始时,我又想创建一个副本。
我想我需要创建一个自定义拖动功能,但希望如果jQuery有其他的替代方法。
这是一个jsfiddle,但我想在开始克隆元素,而不是拖动之后。
编辑:目的地是第三方控制。它有自己的drop事件实现(堆叠和对齐)。如果我最后克隆它,我将不得不修改它们的实现。
能否请你解释一下,为什么要在拖动的开始你的克隆元素,但不是结束了吗? –
@YuriGor目的地是第三方控制。它有自己的drop事件实现(堆叠和对齐)。如果我最后克隆它,我将不得不修改它们的实现。 –
我明白了......请在下面检查我的答案,我按照这个要求编辑它,可能这会起作用。 –