1
$("li").draggable({ 
      helper: "clone" 
     }); 

     $("#div1").droppable({ 
      drop: function (event, ui) { 
       $("<p></p>").appendTo("#div1"); 

      } 
     }); 

我有一個列表中的對象,可以拖放到名爲div1的div中。但是當我把一個人放到div裏時,我不想再放下另一個人。我已經嘗試過使用if,while循環和count。只允許一個對象被刪除jquery

+0

一個建議:。也許你可以使用jQuery的。一()事件處理(http://api.jquery.com/one/)的說明:安裝處理程序每​​個事件類型每個元素最多執行一次 – redlena

回答

0

這應有助於:

drop: function (event, ui) { 
    var $this = $(this), 
    maxItemsCount = 1; 

    if ($this.children('li').length > maxItemsCount){ 
     ui.sender.draggable('cancel'); 
     alert("To much items!");     
    }  

} 
+0

使用這個我不能把它附加到div,我嘗試了puttin追加以及 – user3464872

1

這裏是一個完整的解決方案,它允許只有一個項目銳減,而且,如果存在的話,它就會被更換了一張新的下降。 (有用的,如果有人改變主意只需撥打

refreshDragDrop(dragClassName,dropDivId); 

refreshDragDrop = function(dragClassName,dropDivId) { 
    $("." + dragClassName).draggable({ 
    connectToSortable: "#" + dropDivId, 
    helper: "clone", 
    revert: "invalid" 
    }); 
    $("#" + dropDivId).droppable({ 
    accept: '.' + dragClassName, 
    drop: function (event, ui) { 
     var $this = $(this), 
     maxItemsCount = 1; 
     if ($this.children('div').length == maxItemsCount){ 
     //more than one item,just replace 
     $(this).html($(ui.draggable).clone()); 
     } else { 
     $(this).append($(ui.draggable).clone()); 
     } 
    } 
    }); 
} 
相關問題