2013-05-15 20 views
1

我有一個谷歌地圖容器是ajax加載到主頁面。我需要等待地圖容器具有適當的大小(比如100%寬度)以便地圖正確呈現。什麼是等待ajax元素完成加載的權威方法

$(document).ready不起作用,大小是不正確的。

window.onload因爲容器AJAX加載,即使在AJAX功能的事件偵聽器也不起作用,可能。

jquery.load也不起作用。

這似乎是一個普遍問題,足以但不幸的是我瀏覽過相關的問題,我無法找到一個滿意的答案。

[讓我澄清一下我的特殊情況。我必須(因爲我正在使用一個處理與Ajax的頁面轉換的Web框架,它不是jQuery的移動)ajax加載到文檔中的一個部分。在這個部分有我的地圖容器,它具有指定的寬度和高度。在啓動Google地圖腳本之前,我必須確保地圖容器具有適當的尺寸。可悲的是框架沒有用於加載事件:(]

+0

使用Ajax請求的成功回調,然後選擇新的內容中所有可裝入元素(圖像,I幀等),結合它們的負載事件。當他們全部完成時,就完成了。這通常不是問題,因爲您通常不關心容器的寬度/高度。 –

+0

重新更新:那麼您需要更加具體地瞭解容器的添加方式。順便說一句,爲什麼不用你正在使用的框架來標記你的問題? – Christophe

回答

0

窗口或文檔事件(就緒,onload事件)回調不等待異步Ajax調用,所以你遇到的是預期的行爲。

處理此類問題的常用方法是綁定回調或承諾使用您的ajax代碼。有關更具體的答案,我們需要查看您的代碼。