2011-06-28 46 views
3

我需要通過$ .getScript動態地包含腳本。

然而問題是,該動態包含的腳本中的$(document).ready函數未被執行。 (他們動態插入不會發生在DOM準備好)

有沒有辦法強制它這樣做?舉例來說,僞造一個document.ready事件?

感謝, 韋斯利

+0

[jQuery的可能重複:觸發$的document.ready(所以AJAX代碼我無法修改執行)](http://stackoverflow.com/questions/2238030/jquery-trigger-document-ready-so-ajax-code-i-cant-modify-is-執行) –

回答

4

在doc ready準備好之後,任何未來的doc就緒調用都將在解析時執行。

Read the API

傳遞給。就緒(的處理)是 保證 DOM後執行準備

+0

謝謝,看來這個錯誤出現在代碼的另一部分,這與您所描述的一樣。 – Wesley

1

這是有道理的,通過$.getScript()定義了新的處理程序缺少的document.ready事件,因爲該文件的DOM完成加載更早方式。

您是否嘗試過$(document).trigger('ready')以重新觸發該事件?當然,之前註冊的所有事件處理程序都會再次被調用。

+0

如果文檔已經加載,'$(document).ready'處理程序立即執行。 (雖然'$(document).bind('ready'')的情況也是如此。) – Tgr