2011-01-29 33 views

回答

1

我跟蹤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的更新版本。

0

我測試了這一點,它的工作原理好

(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) 
    } 
}); 
+0

嘗試將其更改爲鍵入並刪除超時。 – Alxandr 2011-01-29 03:59:47

+0

woops忘記帶走第二個謝謝 – 2011-01-29 05:47:01