2012-08-07 25 views
1

我有一棵樹,展開和崩潰,每當容器div更改大小我想要做一些其他的東西,但.resize()似乎沒有工作,因爲我希望。Div調整大小事件不起作用

我已經張貼在下面的jsfiddle代碼:

http://jsfiddle.net/2nXtu/

感謝

+0

錯誤,'GET https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'失敗,因爲該鏈接不再有效 – SpYk3HH 2012-08-07 17:13:42

+1

看這個回答[here]( http://stackoverflow.com/a/3797188/586621)爲一個jQuery插件,做你想做的。 – 2012-08-07 17:15:09

+0

@ SpYk3HH - 你在說什麼? – j08691 2012-08-07 17:15:54

回答

3

resize()是瀏覽器窗口的大小調整的事件。

只要把狀態更新重複點擊事件中:

$('.dup').live('click', function(){ 
    var clone = $(this).clone(); 
    $(this).parent().append(clone); 
    $('.height').html($('.content-body').height()); 
    $('.status').html('Resizing'); 
}); 

Here它是在行動。

+0

我遇到的這個解決方案的問題是,我在多個位置重複使用相同的佈局,並don不想明確地放置代碼。我想我會離開代碼,因爲我有它,以及哪裏 - 我有代碼,改變div的大小,我會手動調用$('。content-body')。 (與你的答案相同的概念)。 – 2012-08-07 17:33:42

0

我這樣做的一種方法是使用髒檢查技術。

基本上你首先檢查要監控的div的大小,然後註冊一個運行在指定時間間隔(比如500ms)的函數並再次檢查div大小。如果在觸發某個事件或運行某個功能並存儲新大小之前,大小已經改變了大小。如果您在變量周圍創建高效的閉包,它會很好用。