我想創建一些像UI設計器的東西。所以我有一個'工具箱'和'畫布'。當我將工具箱項標記爲可拖動時,我可以拖動它們。但我需要的是拖動副本,以便可以將工具項的多個實例拖動到畫布上。拖動對象時更改拖動對象開始
$('.tool-box-item').draggable({
helper : 'clone',
drag : function (event, ui){
// jQuery does not allow object modification here
},
});
這不起作用,因爲只有在拖動時才應用克隆,只要拖動完成,原始元素就會移動。我試着覆蓋拖動屬性,但我無法修改拖動的元素。開始的情況也是如此。
注意:我不能使用停止事件,因爲我想在拖動開始時創建副本,而不是在它之後創建副本。我還能夠通過將畫布定義爲可拖放並在其中創建副本來創建副本,但是當拖動開始時,我又想創建一個副本。
我想我需要創建一個自定義拖動功能,但希望如果jQuery有其他的替代方法。
這是一個jsfiddle,但我想在開始克隆元素,而不是拖動之後。
編輯:目的地是第三方控制。它有自己的drop事件實現(堆疊和對齊)。如果我最後克隆它,我將不得不修改它們的實現。
能否請你解釋一下,爲什麼要在拖動的開始你的克隆元素,但不是結束了嗎? –
@YuriGor目的地是第三方控制。它有自己的drop事件實現(堆疊和對齊)。如果我最後克隆它,我將不得不修改它們的實現。 –
我明白了......請在下面檢查我的答案,我按照這個要求編輯它,可能這會起作用。 –