jQuery UI Sortable:如何阻止特定列表项被移动?

kmu*_*nky 7 jquery-ui jquery-ui-sortable

我有这个清单:

<ul>
    <li class="line"><a href="#" class="drag">header (do not sort)</a></li>
    <li class="line"><a href="#" class="drag">line one</a></li>
    <li class="line"><a href="#" class="drag">line two</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何防止第一次li被移动?

Mar*_*ell 16

您可以指定Sortable实际可排序的项目.这应该做的技巧 - 改变HTML如下:

<ul>
    <li class="line" id="header"><a href="#" class="drag">header (do not sort)</a></li>
    <li class="line"><a href="#" class="drag">line one</a></li>
    <li class="line"><a href="#" class="drag">line two</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

然后在设置sortable时:

$('ul').sortable({ items: 'li[id!=header]' });
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


Mla*_*vic 6

您可以明确排除项目(除了不包括它们):

$( ".sortable" ).sortable({
    cancel: ".disable-sort-item"
});
Run Code Online (Sandbox Code Playgroud)