2012-12-12 32 views
2

我有一個頁面,其內容已被javascript修改。我想創建一些事件監聽器,當內容大小改變時觸發。我不想要這個:關於調整身體尺寸的jQuery觸發器

$(window).resize(...); 

當窗口大小發生變化時會觸發 - 例如,當用戶重新調整瀏覽器窗口的大小時。我試過這個:

$('body').resize(...); 

但它沒有觸發。如何在內容導致頁面大小更改時創建觸發事件?我也開放給普通的JavaScript解決方案。

+0

要小心這樣做,因爲如果內容是通過調整大小修改的唯一內容,則可以每秒觸發數百個事件 –

+0

,請考慮使用http://mediaqueri.es/ – lante

+0

它一旦改變就需要它嗎?否則,你會得到設置的時間間隔來檢查從以前設置的大小,如果它的變化做你的東西 –

回答

9

默認情況下,jQuery將只允許您在window上使用該事件,但至少有一個plugin可讓您將其綁定到其他元素。我會推薦使用它。

有了這個,那麼你可以做同樣的事情,就像

$("#unicorns").resize(function(e){ 
    // do something when #unicorns element resizes 
}); 
1

U可以使用這樣的方法:

$(elem).append('<iframe id="frame0" name="frame0" width=100% height=100% style="position:absolute;top:0px;z-index:-1"></iframe>'); 
frame0.onresize = function() { 
    //..do something 」」 
} 

,這將觸發每個ELEM尺寸變化;)