#child contenteditableの内側のdivが親divの高さを超えると、親の#container divを自動的に高さに調整する最も簡単な方法は何ですか?Jquery Auto expand子divの高さが変更されたときの親div
例を示します。 http://jsfiddle.net/ULUJX/ 高さが親divを超えるまで、#child divの内側に入力してください。
#child contenteditableの内側のdivが親divの高さを超えると、親の#container divを自動的に高さに調整する最も簡単な方法は何ですか?Jquery Auto expand子divの高さが変更されたときの親div
例を示します。 http://jsfiddle.net/ULUJX/ 高さが親divを超えるまで、#child divの内側に入力してください。
のような私には、例えば、keyup
イベントを追跡し、#child
の高さを見たい:
var $child = $('#child');
var $container = $('#container');
var container_height = $container.height();
$container.resizable();
$child.keyup(function() {
var h = $child.height();
if(h > container_height) {
$container.height(h);
container_height = h;
}
});
あなたは、それは、単に
if
を変更して、物事の初期サイズの世話をするだけでなく縮小したい場合は
http://jsfiddle.net/ambiguous/ULUJX/10/
:
はここにあなたのjsfiddleの更新されたバージョンです。
私はこれをテストしていた、それはあなたが速い高さを更新するために速度を変更することができますが、あなたが編集可能なボックスでそれを使用するつもりならば、イベントトリガーを使用する方が良いでしょう良い
(function heightFix($){
var parentCon = $('#container'),
child = $('#child').height();
if(parentCon.height() < child){
parentCon.height(child)
}
setTimeout(function(){
heightFix($);
},100)
}(jQuery));
の作品
$('#child').live('keypress', function(){
var parentCon = $('#container'),
child = $(this).height();
if(parentCon.height() < child){
parentCon.height(child)
}
});
これをkeyupに変更し、タイムアウトを削除してみてください。 – Alxandr
wooopsは2番目の感謝を忘れました –
これは動作する解決策ではありません。問題は、子が親の高さを超えたときにコンテナのサイズを自動的に変更する方法でした。 – Hussein
私は「実際の状況では、外部コンテナのサイズを変更するなど面白いことをやっている」と言っていましたが、いくつかのガイダンスとは対照的に、完全な回答を得るための迅速なアップデートが順番に行われています。 –
ウィンドウオブジェクトのサイズ変更イベントのみですか? – Alxandr