特定のリストがソート可能かどうかを確認するには? のように$('#list').is(':sortable')
...?
使用する場合
if ($('#list').sortable())
その後、リストは再びソート可能になり、実際にソート可能かどうかはチェックされません。
特定のリストがソート可能かどうかを確認するには? のように$('#list').is(':sortable')
...?
使用する場合
if ($('#list').sortable())
その後、リストは再びソート可能になり、実際にソート可能かどうかはチェックされません。
リストがすでにソート可能である場合は、 class が必要ui-sortable
です。
を使用if ($('#list').hasClass('ui-sortable'))
して確認できます。
私は、データインターフェイスでも機能していることを知りました:
if ($( '#sortable' ).data( 'sortable' )) {
// sortable instance exists
}
私はSafari(おそらく他の人)でクラスが信頼できないことを発見しました。「ui-sortable」は、それを無効にしてもソート可能にされたアイテムに残ります。その結果、クラス「ui-sortable ui-sortable-disabled」が両方とも使用されます。
クラスが期待どおりであることを確認するためだけに、クラスを自分で追加および削除していることに気付きました。
if ($(this).hasClass("ui-sortable")) {
$(this).removeClass("ui-sortable");
$(this).sortable({ disabled: true });
}
else {
$(this).addClass("ui-sortable");
$(this).sortable({ disabled: false });
}
- 編集
わかりましたので、クラスは信頼できますが、私が求めていたのは無効ではなく、要素を初期化前の状態に戻す (つまり、すべてのヘルパー クラスを削除する) .sortable("destroy") です。
したがって、ソート可能なトグル(これは私が作成していたものです)の場合:
if ($(this).hasClass("ui-sortable")) $(this).sortable("destroy");
else $(this).sortable();
ソートを適用するときは、このようにその要素にダミー クラスを追加するだけです。
$( "#sortable" ).sortable();
$( "#sortable" ).addClass("antguider");
次に、要素がソート可能であることを確認したい場合は、次のように確認します。
if($( "#sortable" ).hasClass("antguider")){
alert("Already Sort Applied");
}
以下も使用できます。
Sortable.get(element)
https://github.com/SortableJS/Sortable#sortablegetelementhtmlelementsortable
undefined
ソート可能なインスタンスがアタッチされていない場合に解決されます。