オブジェクトのリストを並べ替えています。そのうちのいくつかは通常のオブジェクトであり、いくつかは他のオブジェクトのコンテナーです。
コンテナに新しいオブジェクトを追加する場合を除いて、ハンドルを使用したソートは正常に機能していますが、リフレッシュ後に認識されません。
私は次の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
が