2013-09-24 33 views
0

我有一個網頁,其中有一些divs和內容(Kendo Splitter內部的Kendo UI網格),當頁面準備好或調整大小時,它會自動調整大小以適應可用空間。這通過Javascript + JQuery常見觸發器處理髮生,並且工作順利。顯示頁面時的Javascript事件?

但是,當一個工具欄是開放的,就像螢火蟲,會發生以下情況:

如果我刷新和加載頁面之前切換到其他瀏覽器選項卡,然後我回到我的網頁,我看到一個div(網格的一個)比它的容器大,所以它溢出了幾個像素。順便說一下,在頁面顯示後的幾個瞬間發生,所以沒有visibilitychange觸發器可以使用。

只需打開頁內調試器,IE中也會發生同樣的情況。

我不認爲KendoUI部件與這個問題有關,但爲了完整起見,我報告它。

所以我認爲最好的解決方法是利用用戶顯示文檔時觸發的某些事件。 它存在嗎?

回答

2

您可能要偵聽windowfocusblur事件是這樣的:當你去到另一個選項卡或到另一個窗口比瀏覽器窗口

$(window).on('focus', function() { 
    //(...) 
}); 

blur事件。 focus事件正好相反。
我可以在這裏添加一個jsfiddle,但它使用iframes,所以無法正確測試。

+0

我試過了,但正如我在問題中所述,它不起作用,因爲我已經注意到,在切換回頁面之後,調整大小混亂髮生了很短的時間。我認爲唯一的解決方案是設置超時。 – Pizzaboy