父母能够使所有孩子都可以拖拽,当孩子被点击时,他们可以拖拽和排序

时间:2014-05-02 06:27:02

标签: javascript jquery jquery-ui

如果单击父级,我想使所有子元素都可拖动,即当单击父级然后尝试拖动其所有子级时,如果我单击子级,则只有其元素必须是可拖动的。

我正在使用下面的代码,但它仅适用于子元素,当我尝试从父级拖动所有子元素时,可以完成

$(function () {
   $(".droppable>div").sortable({
      connectWith: ".connectedSortable>div",
   }).disableSelection();        
});

<div name="list-a" class="droppable connectedSortable"> <h3>List A</h3>
   <div class="task - wrapper" id="child">
      <div class="draggable" id="1" name="1"> <a href="#">Element 1</a></div>
      <div class="draggable" id="2" name="3"> <a href="#">Element 2</a></div>
      <div class="draggable" id="3" name="3"> <a href="#">Element 3</a></div>
   </div>
</div>
  1. 列出A
  2. 元素1
  3. 元素2
  4. 元素3
  5. 能够拖动元素1,2和&amp; 3但是当我试图将整个列表A与其子项一起拖动时,则无法执行此操作。请帮忙。

    修改
    JsFiddle demo

1 个答案:

答案 0 :(得分:0)

查看文档https://jqueryui.com/sortable/它明确指出它使div的子项可拖动,而不是div本身。如果你想#child draggable,你需要改变

$(".droppable>div").sortable().disableSelection();

$(".droppable>div").sortable().disableSelection();
$(".droppable>div").draggable();

$(".droppable>div").sortable().disableSelection();
$(".droppable").sortable().disableSelection();

取决于您尝试做什么。 您还添加了connectWith:&#34; .connectedSortable&gt; div&#34;,但这与当前标记无关,因为它是相同的div。