【问题标题】:Jquery Sortable Box RestrictionsJquery 可排序框限制
【发布时间】:2014-07-28 21:49:04
【问题描述】:

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

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

我还想知道当盒子里什么都没有的时候,是否有办法将盒子扩大到一定的高度。现在如果一个盒子是空的,这有点令人困惑,因为用户可能不知道可以将项目拖入其中。

【问题讨论】:

    标签: jquery jquery-ui-sortable


    【解决方案1】:

    这是我第一次看到它,但是在我快速浏览一下他的documentation 之后,我可能会有所帮助。似乎包含两个与您的兴趣相关的选项,"exclude" 和“isValidTarget”。

    "isValidTarget" 需要一个回调函数,它被一个 $item 参数调用,它包含 - 你猜对了 - 被拖动的元素,以及第二个参数“container”,它是接收正在被拖动的项目的元素拖着。剩下的就看你了。玩得开心!

    这里有一个关于排除的基本用法的快速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>
    

    【讨论】:

    • 谢谢!我完全忽略了文档:/
    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2014-05-30
    • 2019-09-30
    • 2012-01-19
    • 2010-09-16
    相关资源
    最近更新 更多