Jquery可分类盒限制

时间:2014-07-28 21:49:05

标签: jquery jquery-ui-sortable

对于熟悉由Jonny von Adrian(http://johnny.github.io/jquery-sortable/)创建的可排序的人,

有没有办法说,限制框的元素,使它们只能在自身和另一个框之间拖动,即使有多个框?现在我正在创建一个界面,允许用户从主题框拖动到另一个主题框,但这会导致问题,因为他们可以从"时间"进入"课程"盒子,反之亦然。

此外,我想知道是否有办法将盒子扩展到某个高度,而它们中没有任何东西。现在,如果一个盒子是空的,有点混乱,因为用户可能不知道可以将物品拖入其中。

1 个答案:

答案 0 :(得分:0)

这是我第一次看到它,但在我快速浏览documentation之后,我可能会帮助一点点。看起来有两个与您的兴趣相关的选项,"exclude"和" isValidTarget"。

" isValidTarget"需要一个回调函数,它使用$ item参数调用,其中包含 - 你猜对了 - 被拖动的元素,以及第二个参数" container",它是接收被拖动项目的元素。剩下的由你决定。玩得开心!

以下是对exclude:

的一个非常基本的使用的快速fiddle
$(function() {
  $("ol.example").sortable({
    containerPath: "> li",
    containerSelector: "ol",
    exclude: "ol ol > li"
  });
  $("ol.example ol").sortable();
});

<ol class='example'>
  <li>
    Restricted
    <ol>
      <li>Items</li>
      <li>cannot</li>
      <li>be added</li>
      <li>Here.</li>
    </ol>
  </li>
  <li>
    Open 1
    <ol>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ol>
  </li>
  <li>Open 2</li>
  <li>Open 3</li>
</ol>