jQuery UI Sortable - 不允许转移到子元素
-
08-07-2019 - |
题
我正在使用jQuery的UI sortables,并以这种格式创建了一个div系统;
<div class='mainDiv'>
<label>text: <input type='text' name='textbox' /></label>
<div class='children'>
<div class='mainDiv'>...</div>
<div class='mainDiv'>...</div>
<div class='mainDiv'>
<label>text: <input type='text' name='textbox' /></label>
<div class='children'>...</div>
</div>
</div>
</div>
div可以有无数个子节点,我希望能够将所有.mainDiv拖放到它们的父框中,所以我使用了这个:
$(".mainDiv").parent().sortable({items: ".mainDiv", containment: "parent"});
但是,这允许将元素拖入其子节点或兄弟节点.children div。我不想发生这种事。我想限制元素留在父母中。
这里的任何帮助都会很热。
干杯
解决方案
我设法解决了这个问题:
$(this).parent().sortable({
items: '> li',
axis: 'y',
...
});
在您的情况下,它应该与:
一起使用items: '> .mainDiv'
包含:不需要“父级”。
在我的情况下,我启用“可排序”在之前的点击事件中,因为它更快。如果你将它绑定到“mousedown”,我认为它会更容易。事件。如果您动态创建树(例如Ajax),我建议您使用“livequery”。
不隶属于 StackOverflow