2017-11-01 18 views
0

#leftDiv 및 #mainDiv라는 두 개의 div가 있습니다. #leftDiv에는 #mainDiv로 드래그 할 수있는 일부 목록 항목이 있지만 #mainDiv의 드롭 요소를 드래그 할 수 없게 된 후에 한 가지 문제가 있습니다. 이것으로 무엇을 할 수 있습니까? 나는 사용자가 원하는 장소에 #mainDiv 드래그와 드롭 가능한에서 요소를 만들고 싶어jQuery-UI는 드래그 할 수 있고 드래그 할 수없는 항목은 드래그 할 수 없게됩니다.

$(document).ready(function(){ 
    $('#output li').draggable({ 
    helper: 'clone', 
    revert: 'invalid' 
    }); 
    $('#mainDiv').droppable({ 
    drop: function(event, ui){ 
     var item = $('<div class="foo">').append(ui.draggable.text()); 
     $(this).append(item); 
    } 
    }); 
    $(".foo").draggable(); 
}); 

: 여기 내 스크립트입니다.

답변

1

foob을 새로 만들면 기본적으로 드래그 할 수 없습니다. 당신은 그들을 만들어야합니다 :

item.draggable(); 
$(this).append(item). 
+0

고맙습니다 만 작동합니다.하지만 이것에 대해서도 도움이 될만한 질문이 하나 더 있습니다. 이제이 항목을 드래그하여 같은 div에 놓으면 새로운 클립이 나타날 때마다 나타납니다. 이 문제를 쉽게 해결할 수 있습니까? –

+0

@VaxoBasilidze, 당신이 * 개체를 복제하기 때문입니다. 완료되면 도우미를 복제하거나'.remove '하지 마십시오. 아니면 원본 객체를 옮기는'원본 '복제본일까요? UI 디자인에 따라 다릅니다. – LSerni

+0

요점은 요소가 다른 div에서 드래그 된 경우 해당 요소를 복제해야하며 동일한 div 내에서 드래그 한 경우 복제되지 않아야한다는 것입니다. $ (ui.helper) .remove();를 추가하려고했습니다. item.draggable(); 안에 있지만 작동하지 않습니다. –