我正在对对象列表进行排序,其中一些是常规对象,其中一些是其他对象的容器。
带有句柄的可排序工作正常,除非我将新对象添加到容器中,否则刷新后无法识别。
我有以下 HTML:
<button>add another option</button>
<div class="con">
<div class="ui-state-highlight"><span class="handle">handle</span> Item 1</div>
<div class="ui-state-highlight"><span class="handle">handle</span> Item 2</div>
<div class="ui-state-highlight"><span class="handle">handle</span> Item 3</div>
<div class="subthing">
<span class="handle">handle</span>
<div> <span class="handle">subhandle</span> subitem</div>
<div> <span class="handle">subhandle</span> subitem</div>
</div>
</div>
和脚本:
$('button').click(function() {
var x = $('<div class="ui-state-highlight"><span class="handle">handle</span> newthing</div>');
x.appendTo('.con')
$(".con").sortable('refresh')
});
var container = $(".con");
container.sortable({
handle: container.children().children(".handle")
});
小提琴
如上面的代码所示,如果您添加一个新项目,它不能与其余元素一起排序。我知道如果我说句柄属性是.handle
,它会这样做,但我不希望子句柄成为可排序的一部分。