我要聽的情況下,只要在文檔(體)大小改變 這會造成任何內部 (但你假設不知道是什麼因素導致了調整大小)不能聽文件resize事件
作爲代碼如下: http://jsfiddle.net/marstone/7zaRT/8/
你可以點擊綠色區域來改變div大小,然後調整document.body大小。但是,onresize事件不會被解僱。
我發現,當調整窗口大小,它才能正常運行,如拖/最大的瀏覽器窗口
什麼解決辦法?任何幫助讚賞。
我要聽的情況下,只要在文檔(體)大小改變 這會造成任何內部 (但你假設不知道是什麼因素導致了調整大小)不能聽文件resize事件
作爲代碼如下: http://jsfiddle.net/marstone/7zaRT/8/
你可以點擊綠色區域來改變div大小,然後調整document.body大小。但是,onresize事件不會被解僱。
我發現,當調整窗口大小,它才能正常運行,如拖/最大的瀏覽器窗口
什麼解決辦法?任何幫助讚賞。
這應該做的伎倆:
$(document).bind('DOMSubtreeModified', function(e) {
alert("Bazinga!");
console.log(e);
});
不過請注意,它傾向於過分火,但我會留給你弄清楚如何,這可能適合你的應用程序。
如您所說,調整大小事件僅適用於Windows對象。您可以使用jquery-resize plugin在DOM元素上添加調整大小事件,但建議他們實施輪詢機制以跟蹤元素的大小。因此,您必須始終將事件綁定到您要觀看的元素(由於沒有真正的事件在DOM上冒泡,因此委託不起作用)。
到目前爲止,我已經使用了該插件幾次,沒有任何小故障。我不知道其他插件是否實現了這個相同的機制,但我確定它們都依賴於輪詢機制。
謝謝!但我的項目由於某種原因無法使用jquery。我會自己實現這個機制。我想找一些輕量級解決方案 – marstone 2012-03-07 04:11:03
謝謝!在Chrome和FF中適用於我,但不適用於IE。 – marstone 2012-03-07 04:10:21
IE中的唯一方法是一種粗略的方法:http://stackoverflow.com/q/1218445/476786 你在哪裏經常輪詢你的'DOM'來檢查變化。你可能會破解這個來檢測視口大小的變化。嘗試試用滾動條及其相對位置變化。 哦,如果這個答案有幫助,請把它標記爲接受:) – bPratik 2012-03-07 04:21:58