82

私が見つけた唯一の解決策は、現在の値で最大と最小の高さまたは幅を設定することです。

例:

foo.resizable({ 
  maxHeight: foo.height(), 
  minHeight: foo.height() 
});

しかし、これは本当に醜いです。特に、プログラムで要素の高さを変更する必要がある場合はそうです。

4

7 に答える 7

147

次のように、サイズ変更handlesオプションを左右 (または東/西) にのみ表示するように設定できます。

foo.resizable({
    handles: 'e, w'
});​

ここで試してみることができます。

于 2010-09-02T14:43:58.140 に答える
27

ポスターは主に横方向のみのサイズ変更を求めていましたが、質問では縦方向も求めています。

垂直の場合には特別な問題があります。ブラウザー ウィンドウのサイズが変更された場合でも保持したい相対的な幅 (たとえば 50%) を設定している可能性があります。ただし、最初に要素のサイズを変更すると、jQuery UI は絶対幅を px で設定し、相対幅は失われます。

このユースケースで次のコードが機能することがわかった場合:

$("#resizable").resizable({
    handles: 's',
    stop: function(event, ui) {
        $(this).css("width", '');
   }
});

http://jsfiddle.net/cburgmer/wExtX/およびjQuery UI resizingも参照してください: East ハンドルのみを使用する場合の自動高さ

于 2011-06-02T18:15:40.910 に答える
17

非常に簡単な解決策:

$( ".selector" ).resizable({ grid: [1, 10000] }); // horizontal
$( ".selector" ).resizable({ grid: [10000, 1] }); // vertical

これは draggable() でも機能します。例: http://jsfiddle.net/xCepm/

于 2012-02-10T10:41:51.653 に答える
9

解決策は、サイズ変更可能を構成して、不要なディメンションの変更をキャンセルすることです。

垂直方向のみサイズ変更可能な例を次に示します。

foo.resizable({
  resize: function(event, ui) { 
    ui.size.width = ui.originalSize.width;
  }      
}); 
于 2010-10-29T11:55:40.910 に答える