Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery UI可拖动和可拖放项变为不可拖动_Javascript_Jquery_Jquery Ui_Draggable_Droppable - Fatal编程技术网

Javascript jQuery UI可拖动和可拖放项变为不可拖动

Javascript jQuery UI可拖动和可拖放项变为不可拖动,javascript,jquery,jquery-ui,draggable,droppable,Javascript,Jquery,Jquery Ui,Draggable,Droppable,我有两个div:leftDiv和mainDiv。leftDiv包含一些列表项,这些列表项可以拖放到mainDiv中,但在mainDiv中的drop元素变为不可拖放后,存在一个问题。我能用这个做什么?这是我的剧本: $(document).ready(function(){ $('#output li').draggable({ helper: 'clone', revert: 'invalid' }); $('#mainDiv').droppable({ dr

我有两个div:leftDiv和mainDiv。leftDiv包含一些列表项,这些列表项可以拖放到mainDiv中,但在mainDiv中的drop元素变为不可拖放后,存在一个问题。我能用这个做什么?这是我的剧本:

$(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();
});
我想让mainDiv中的元素可以拖放到用户想要的任何地方。

您正在创建默认情况下不可拖放的新对象。你需要让他们:

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

谢谢你,这是有效的,但我还有一个问题,如果你也能帮忙的话。现在,当我拖动此项并将其放到同一个div中时,每次都会出现一个新的克隆项。有没有一个简单的方法来修复这个问题?@VaxoBasilidze,这是因为你正在克隆这个对象。不要克隆或。完成后删除帮助程序。或者您可以使用原始克隆来移动原始对象?这取决于您的UI设计。关键是,如果元素从另一个div拖动,则必须对其进行克隆;如果元素被拖动到同一个div中,则不能对其进行克隆。我已尝试添加$ui.helper.remove;项目内部。可拖动;,我认为ui.helper是一个jQuery对象;您尝试过ui.helper.remove吗?