我在使用 jQueryUI 的 sortable 函数时遇到问题:
<div class="sortable">
<div class="ui-state-default">
<h4></h4>
<input type="text" />
<button></button>
</div>
...more <div>
</div>
我的目标不是能够对整个 div 进行排序,而只能对输入元素进行排序。这可能吗?
我已经尝试了很多东西,但没有任何效果......
$(".sortable").sortable({ items: "> input" });
$(".sortable").sortable({ items: "> input[type=text]" });
$(".sortable").sortable({ items: "> div > input" });
$(".sortable").sortable("option", 'items', 'div > input');
我已经用谷歌搜索了一个解决方案,但除了这个 similar question 什么也没找到,但我认为 .cancel() 函数不是我的解决方案。
有什么帮助吗?
最佳答案
您遇到的问题是输入框本身不能做成可拖动的 handle 。您需要将输入包装在 span 或 div 中,然后在 { items: }
标记中使用它。你还是不能自己拿起输入框,所以我强烈建议你在div中使用一个 handle 来拖动,这样操作起来更直观。
或者,您可以使用 { position: absolute; 添加一个隐藏的 div宽度:100%; height:100% }
在输入顶部作为句柄,但这会使您的输入不可编辑,因为点击会点击该 div 而不是您的输入。
关于javascript - jQueryUI 可排序 - 复杂的选择器可能在 'items',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915132/