Jquery拖放不适用于动态可放​​置部分

时间:2017-01-11 13:41:45

标签: jquery drag-and-drop draggable droppable jquery-ui-droppable

要求就像是,需要在Editor中拖动项目列表。列表为draggable,编辑为droppable。

因此,当我调用Jquery拖放功能时,它工作正常,项目在编辑器中是Droppable。

但是当多个编辑器通过ajax或使用jquery动态添加时,这些项应该能够在新生成的编辑器内部使用Droppable。已经有添加更多编辑器的功能。

我再次为新生成的编辑器调用拖放功能,但它仅适用于现有编辑器而不适用于新添加的编辑器。

可拖动部分是固定的,但Droppable部分是各种动态的。

(注意:如果已经加载,它适用于多个编辑器,但是如果我调用拖放功能而不是添加新的编辑器,则一次。我再次调用拖放功能,不起作用为新编辑工作)

我的代码,

 function _dropable_cktext_editor(){
    $('.jqte_editor').droppable({
      drop: function( event, ui ) {
        var item_name = ui.draggable.find('.name').text().trim();
        $(this).append(" ["+item_name+"]");
      }
    });
  }
  function _dragable_cktext_editor(){
    $('#spec_type_groups_edit li ul li').draggable({
      revert: "invalid",
      containment: "document",
      helper: "clone",
      cursor: "move",
      start: function(e, ui)
      {
        $(ui.helper).addClass("ui-draggable-helper");
      }
    });
  }  

1 个答案:

答案 0 :(得分:1)

这是用于克隆相同输入的JavaScript的加载/卸载问题,如Ck-editor等编辑器。所以请首先加载编辑器JavaScript然后重新加载可拖动的JavaScript,然后它将100%工作。