对于熟悉由Jonny von Adrian(http://johnny.github.io/jquery-sortable/)创建的可排序的人,
有没有办法说,限制框的元素,使它们只能在自身和另一个框之间拖动,即使有多个框?现在我正在创建一个界面,允许用户从主题框拖动到另一个主题框,但这会导致问题,因为他们可以从"时间"进入"课程"盒子,反之亦然。
此外,我想知道是否有办法将盒子扩展到某个高度,而它们中没有任何东西。现在,如果一个盒子是空的,有点混乱,因为用户可能不知道可以将物品拖入其中。
答案 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>