13

私は次のようにソート可能な要素にバインドしています:

$('#elem').sortable({
   items: 'li',
   placeholder: 'drop-highlight',
   forcePlaceholderSize: true,
   revert: true
});

特定のイベントで、この要素をソート可能にしないようにしたいと考えています。バインドを解除するにはどうすればよいですか?

これらはすべて個別に試行され、すべて失敗しました (つまり、#elem は後でソート可能でした)。

$('#elem').unbind('sort');
$('#elem').sortable('destroy');
$('#elem').sortable('option', 'sort', null);
4

2 に答える 2

10

ええ、それはsu ** s :-(これにより、機能cssクラス/注入されたスパンが1秒後に削除されます(削除すると、追加されたクラスやタグではなく、ウィジェットを削除するように見えます)

$('#elem').sortable({
   items: 'li',
   placeholder: 'drop-highlight',
   forcePlaceholderSize: true,
   revert: true
});

リストを「ソート不可」にする必要がある場合は、このコードをハンドラーに配置します

function() {
    $("#elem").sortable("destroy"); //call widget-function destroy
    $("#elem li").removeClass('ui-state-default');
    $("#elem li span").remove();
}

$("#elem").sortable("destroy"); 実際にはソート可能な機能を破壊しますが、クリーンアップするのを忘れるだけです

于 2012-10-15T00:14:03.203 に答える