9

サイズ変更可能な親divがあります(幅のみ)-このdiv内には、サイズ変更可能な他のdivがいくつかあります(高さのみ)。

親の幅のサイズ変更を無効にするか破棄したいが、内側の高さのサイズ変更はそのままにしておきたい場合があります。

を呼び出すと$("#idTopDiv").resizable("destroy");、これにより、すべての子divのサイズ変更可能オブジェクトも破棄されます。

典型的なレイアウトは次のとおりです。

<div id=idDivTop> <!-- Resizable width -->
    <div id=idInnerOne>
    </div>

    <div id=idInnerTwo> <!-- Resizable height -->
    <div>
</div>

アイデアに感謝します。

4

1 に答える 1

6

これは、サイズ変更可能オブジェクトを破棄すると、ui要素内のすべてのサイズ変更ハンドルが削除されるためだと思います。これには、サイズ変更可能ファイル内のサイズ変更ハンドルが含まれています。したがって、内部のサイズ変更可能ファイルは実際には破壊されておらず、混乱しているだけです。

ここでサイズ変更可能なソースコードを見ることができます; 199行目で起こっています.find('.ui-resizable-handle').remove();

これを修正するには、内部のサイズ変更可能なオブジェクトでもdestroyメソッドを呼び出してから、それらを再作成する必要があります。(jsfiddle

$("div").resizable();

// Destroy all three resizables
$("div").resizable("destroy");

// Recreate the inner resizables
$("#idInnerOne, #idInnerTwo").resizable();

サイズ変更可能な設定が作成時に設定されたバインディングとデータを削除するには、これを行う必要があります。そうしないと、再作成しようとしたときに既に作成されていると見なされ、何も実行されません。

外側のサイズ変更可能ファイルを破棄するのではなく無効にすることも検討できますが、これには独自の問題があります

于 2012-05-05T23:08:03.687 に答える