0

我有類似的問題, 我有兩個div標籤,其中我想從動態創建的圖像列表拖動圖像。 但我想限制另一個圖像在同一個div上拖動。如果圖像已被丟棄,禁用圖像丟棄?

Disable drop if div has already been dropped?

我所用的方法跟在其答覆Jamiec。

但是,繼承人的問題,我得到了我無法去解決

Uncaught TypeError: Cannot set property 'originalPosition' of undefined

請人可以幫我去除這個錯誤的錯誤。

+0

請你分享的jsfiddle的代碼。 – 2013-04-08 05:32:07

+0

@Mahesh Sapkal當然..檢查它。 jsfiddle.net/sJR8k – Snehal 2013-04-08 12:20:41

+0

@Mahesh Sapkal在這裏我想限制元素的丟棄,如果已經存在元素或者用第二個元素替換掉第一個元素 – Snehal 2013-04-08 12:21:06

回答

0

選項:#1

請檢查演示。如果已經有一個元素掉落,元素將始終回覆到原來的位置。

$('#target').droppable({ 
    accept: ".dragme", 
    drop: function(event, ui) { 
     ui.draggable.addClass('dropped'); 
     ui.draggable.draggable("disable"); 
     $('#target').droppable("option", "accept", ""); 
    } 
}); 

$('.dragme').draggable({ 
    revert : 'invalid' 
}); 

DEMO

選項:#2

這是另一個演示,其中當新的元素被丟棄的現有下跌元素將恢復到它原來的位置。

var droppedObj = null; 
$('#target').droppable({ 
    accept: ".dragme", 
    drop: function (event, ui) { 
     if(droppedObj !== null) { 
      droppedObj.animate({ left: '0px', top : '0px', opacity : 1 }, 200).removeClass('dropped'); 
      droppedObj.draggable("enable"); 
     } 
     droppedObj = ui.draggable; 
     ui.draggable.addClass('dropped').draggable("disable"); 
    } 
}); 

$('.dragme').draggable({ 
    revert: 'invalid' 
}); 

DEMO

+0

非常感謝您的幫助 – Snehal 2013-04-09 04:50:50