【发布时间】:2017-09-13 17:31:10
【问题描述】:
我在 1.12.1 版本中使用 jquery-3.2.1.min.js 和 jquery-ui.min.js
我想创建一个可排序的列表,并且在该列表中我有一些我不想排序的元素(准确地说是其他可排序的列表)。输入元素保持可编辑状态很重要。
<ul id="a">
<li>sometext<input value="1" /></li>
<li>moretext<input value="2" /></li>
<li class="b">
<ul>
<li>text<input value="3" /></li>
<li>blarg<input value="4" /></li>
</ul>
</li>
<li>last<input value="5" /></li>
</ul>
当我像这样初始化可排序时:
jQuery("#a").sortable();
一切正常,因为我可以同时编辑输入元素并进行排序。 但是当我添加取消属性以防止子列表可拖动时,输入字段将无法再编辑:
jQuery("#a").sortable({cancel: ".b"});
我完全不理解这种行为。
我对这个问题做了一个codepen:https://codepen.io/DesmondTMB/pen/oGgjYX
如果有人能解决这个问题,我将不胜感激。我试图让它按照我想要的方式行事。
谢谢!
【问题讨论】:
-
怀疑你想要
items的值类似于"> li:not(.b)"。
标签: javascript jquery html jquery-ui jquery-ui-sortable