防止draggable对象多次添加jQuery

时间:2015-03-04 01:41:41

标签: javascript jquery

我无法弄清楚如何防止在一个拖动事件中多次添加可拖动对象。我做了一个小例子,你可以解决问题。

https://jsfiddle.net/richiwarmen/afqu96v3/1/

$( ".draggableEl" ).droppable({
      accept: ".dropme",
      drop: function( event, ui ) {
        $(this).append(ui.draggable.clone().css("left","0px"));
      }});
$( ".draggableEl" ).draggable();

$( ".dropme" ).draggable({
     revert: 'invalid', 
     helper: "clone" ,
});

拖动绿色块左上方的紫色块,。

2 个答案:

答案 0 :(得分:1)

你有多个可放置的兄弟div在彼此之上。当你跌入其中一个时,它下面的那个也会激活。

如果您将它们嵌套,则可以使用greedy: true选项。但在这种情况下,既然你的兄弟都是兄弟姐妹,你就不能真正做很多事情。

演示 - https://jsfiddle.net/Patosai/afqu96v3/2/

请参阅此处 - Jquery droppable - Greedy not working as expected

答案 1 :(得分:0)

我想你只想删除clone这个词:

$( ".draggableEl" ).droppable({
      accept: ".dropme",
      drop: function( event, ui ) {
        $(this).append(ui.draggable.css("left","0px"));
      }});
$( ".draggableEl" ).draggable();

$( ".dropme" ).draggable({
     revert: 'invalid',
});